Digamos que eu tenha uma linha definida por dois pontos A
e B
, ambos no formulário (x, y, z)
. Esses pontos representam uma linha no espaço 3D.
Eu também tenho um ponto P
, definido no mesmo formato, que não está em jogo.
Como eu calcularia a projeção desse ponto na linha? Estou ciente de como fazer isso em 2D, mas o 3D parece conter todos os recursos.
mathematics
geometry
EndOfTheZoners
fonte
fonte
a.x*b.x+a.y*b.y+a.z*b.z ...
tudo o resto é tão simples quanto a operação por coordenadas entre vetores.Aqui está uma maneira rápida e fácil de fazer isso em python:
Use carros alegóricos; Se seus vetores contiverem números inteiros, a divisão será uma divisão inteira e os resultados estarão incorretos.
fonte
/dot(ab,ab)
é redundante