Angle entre 3 points dans l'espace 3D
J'ai 3 points contenant X, Y, Z coordonnées:
var A = {x: 100, y: 100, z: 80},
B = {x: 100, y: 175, z: 80},
C = {x: 100, y: 100, z: 120};
Les coordonnées des pixels d'une 3d CSS transform.
Comment puis-je obtenir de l'angle entre les vecteurs BA et BC?
Une formule math va le faire, le code JavaScript sera mieux.
Merci.
source d'informationauteur Mircea | 2013-11-01
Vous devez vous connecter pour publier un commentaire.
En pseudo-code, le vecteur BA (appelons-v1) est:
De même, le vecteur BC (appelons-v2) est:
Le produit scalaire de
v1
etv2
est une fonction du cosinus de l'angle entre eux (c'est multipliée par le produit de leurs grandeurs). Alors d'abord normaliserv1
etv2
:Puis de calculer le produit scalaire:
Et, enfin, récupérer l'angle:
@Roger algorithme rapide