ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 14 janv. 2016 à 20:28
Bonjour,
1) en "bout de ligne" de quoi ?
2) "tracer" ? ou "imprimer" ? "et sur quoi ? (écran, Picturebox, Imprimante ?)
Montre donc, s'il te plait, le code par lequel tu "traces" cette "ligne" ...
vb95
Messages postés3474Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention 7 mai 2024169 Modifié par vb95 le 14/01/2016 à 21:05
bonjour !
Précises ce que tu entends par embout de ligne, puce, flèche et autre !
Serait-ce pour dans un texte y insérer des marques bien précises qui serviraient de repères ?
cs_cheyenne
Messages postés693Date d'inscriptionsamedi 18 mai 2002StatutMembreDernière intervention17 avril 20172 15 janv. 2016 à 01:21
Bonjour ucfoutu et vb95
Mon "bout de ligne" serait plutôt une flèche.
J'ai des graphiques genre boussole et autres cadrans alors plutôt que de tracer une simple ligne depuis le centre jusqu'à la valeur j'ai pensé à mettre une flèche au bout qui pointe vers la valeur.
Pour faire plus simple, prenons une horloge dont les aiguilles seraient garnies d'une flèche à leurs extrémités.
Je précise à ucfoutu que c'est à l'écran que doit s'afficher cette ligne avec son "embout"
Oui, bien sûr, il y a moyen de la dessiner cette flèche ! mais si une des fonctions de l'API lermet de le faire alors pourquoi s'en priver ?.
Il n'existe pas de "fonction de l'Api" faisant cela.
Il te faudra donc dessiner les trois segments qui composent une flèche, à l'aide par exemple de la méthode Line de VB6.
Si maintenant tu veux une flèche à la fois parfaite et paramétrable, il va te falloir utiliser des calculs de symétrie. Une flèche est en effet composée :
- d'un segment "principal" AB
- d'un segment XB reliant un point X (à placer où tu le souhaites... c'est lui, le paramètre) au point B
- d'un segment YB, reliant le point Y (symétrique du point X par rapport au segment AB) au point B
Les maths n'interviennent là que pour calculer les coordonnées de ce point Y
Tu trouveras ici les calculs nécessaires :
http://www.matheureka.net/Q121.htm
Il est clair que les calculs à faire sont bien plus simples si le segment AB est toujours horizontal ou toujours vertical, mais tu n'as rien dit de cet aspect et je t'ai donc envoyé vers le lien qui traite de tous les cas de figure (quel que puisse être l'angle de la droite passant par A et B)
-
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Si si, j'ai bien précisé ! j'ai parlé de boussole et de cadran. Donc pas toujours horizontal ou vertical.
Je trace ma ligne du centre x1,y1 à x2,y2 de là je fais Line (x2-delta,,y2+delta)-(x2,y2) et Line(x2-delta,y2+delta)(x2,y2) et j'ai mes deux segments.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211
>
cheyenne
15 janv. 2016 à 13:02
Ainsi dessinés, tes deux petits segments de flèche ne seront symétriques que dans les cas particuliers suivants :
- flèche verticale
- flèche horizontale
- flèche inclinée à 45 °
et ne le seront pas dans tous les autres cas (flèche imparfaite).
cs_cheyenne
Messages postés693Date d'inscriptionsamedi 18 mai 2002StatutMembreDernière intervention17 avril 20172 16 janv. 2016 à 19:34
Bon dans ce cas je recherche le Cos et le Sin de la base de chaque segment et cela devrait être bon Je n'ai pas encore essayé car c'est pour plus tard.
Ce sera pour aller dans mon soft que je développe qui donne les différents paramètres de la lune et du soleil. La flèches servira, sur l'un des cadrans, à indiquer l'azimut de chaque objet céleste.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211
>
cs_cheyenne
Messages postés693Date d'inscriptionsamedi 18 mai 2002StatutMembreDernière intervention17 avril 2017 Modifié par ucfoutu le 16/01/2016 à 20:27
Ce sera en effet de la trigo avant même de développement. Le développement consistera, lui, à appliquer les calculs de trigo. Quant à ces derniers : c'est de la TRIGO, préalable et nécessaire, quel que puisse être le langage de développement à tutiliser ENSUITE pour traduire en code les expressions mathématiques successives.
Voilà. Ne te trompe pas de forum. Celui-ci est un forum de développement et non de maths.
VB6 t'offre, pour traduire tes expressions de calcul, toutes les fonctions nécessaires et qui figurent parmi la liste suivante :
Abs Function
Atn Function
Cos Function
Exp Function
Fix Function
Int Function
Log Function
Rnd Function
Sgn Function
Sin Function
Sqr Function
Tan Function
Derived Math Functions
Puis-je quand-même te rappeler que tu n'as pas nécessairement besoin de passer par des calculs trigonométriques ?
- tu connais (mon exemple plus haut) les coordonnées :
--- du point A (le départ de ton segment à doter d'une flèche)
--- du point B (la pointe de ta flèche)
--- du point X (puisque tu le choisi comme paramètre)
- tu peux donc en déduire aussitôt :
--- l'équation de la droite (celle passant par A et B), de type Y = ax + b, où a est son coefficient angulaire
--- l'équation de la droite perpendiculaire à ta ligne et passant par le point X. son coefficient angulaire est, lui = à -1/a. Tu l'appliques et en déduis la valeur b' dans son équation y = -(1/a) + b'
--- les coordonnées du point d'intersection des deux droites
Le reste est simple (calcul de distances sur cette perpendiculaire à partir du point X pour obtenir les coordonnées du point Y)
Même sans trigo, donc ...