cooleric
Messages postés10Date d'inscriptionmardi 6 mai 2003StatutMembreDernière intervention16 mars 2004
-
19 mai 2003 à 20:51
pepitoooo
Messages postés8Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention21 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...)
pepitoooo
Messages postés8Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention21 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++