Bonjour tout le monde,
Je souhaites calculer l'angle orienté entre trois points, j'utilise donc l'arc tangente entre la norme du produit vectoriel sur le produit scalaire:
Seulement voila, j'ai un problème pour les points suivants:
Code : Sélectionner tout - Visualiser dans une fenêtre à part atanf( (cross(v1, v2).length()) / (dot(v1, v2) )
Si on veut l'angle orienté de p2p1p3 (en gros le coin inférieur droit du cercle trigo), j'obtiens un angle positif: je pense que c'est dû au calcul du produit scalaire donne une valeur positive:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 p1(0, 0) p2(1, 0) p3(0.5, -0.5) v1 = p2 - p1 = (1, 0) v2 = p3 - p1 = (0.5, -0.5)
Il doit y avoir une astuce mais je ne m'en rappelle plus du tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part dot (v1, v2) = 1*0.5 + 0*(-0.5) = 0.5
Quelqu'un peut-il me dire où est-ce que je me trompe?
Merci
PS: Evidemment j'ai cherché avec Google mais certainement mal...
Partager