Disons que j'ai une ligne définie par deux points, A
et B
, tous deux dans le formulaire (x, y, z)
. Ces points représentent une ligne dans l'espace 3D.
J'ai également un point P
, défini dans le même format, qui n'est pas sur la ligne.
Comment calculer la projection de ce point sur la ligne? Je sais comment faire cela en 2D, mais la 3D semble avoir toutes les ressources sur ce bugger.
mathematics
geometry
EndOfTheZoners
la source
la source
a.x*b.x+a.y*b.y+a.z*b.z ...
tout le reste aussi simple que l'opération par coordonnées entre les vecteurs.Voici un moyen rapide et facile de le faire en python:
Utilisez des flotteurs; Si vos vecteurs contiennent des entiers, la division sera une division entière et les résultats seront incorrects.
la source
/dot(ab,ab)
est redondant