Trace de fleche

cooleric Messages postés 10 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 16 mars 2004 - 19 mai 2003 à 20:51
pepitoooo Messages postés 8 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 21 mai 2003 - 21 mai 2003 à 18:56
Jai besoin d'ecrire une fonction qui me dessine une fleche partant du point D(x_D,y_D) et allant au point A(x_A,y_A).
J'utilise les fonctions de dessins de traits et de polygones de gtk+, mais je narrive pas a calculer correctement les extremites du triangle composants la tete de ma fleche...

Si qqn pouvait maider un peu ca serait cool car jai deja essaye les rotations, les intersections de cercles... et je narrive jamais au resultat (jai pu faire des erreurs de culculs...)

1 réponse

pepitoooo Messages postés 8 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 21 mai 2003
21 mai 2003 à 18:56
Il y a plusieurs façons de faire ça, je te donne la façon plus rapide à expliquer mais plus couteuse en temps d'execution:

Supposons que ton triangle soit isoscele, de hauteur H, de base B ayant S1 et S2 comme sommets

Je calcule l'angle O que fait ta flèche avec l'axe des abscisses
O = arctan ( (y_A-y_D) / (x_A-x_D) )

soit A1 ( -h cos O - ( b/2) sin O , -h sin O + ( b/2) cos O )
et A2 ( -h cos O - (-b/2) sin O , -h sin O + (-b/2) cos O )

Maintenant les coordonnees de
S1 ( x_A+x_A1 , y_A+y_A1 )
S2 ( je te laisse deviner...)

Je peut avoir fait des fautes de calcul
Si tu veut en savoir + sur la methode cherche sur le net matrices de rotation, tu devrais trouver ce qu'il te faut mais tu auras besoin d'une bonne base theorique pour affronter le sujet, A++
0
Rejoignez-nous