Digamos que tengo una línea definida por dos puntos, A
y B
, ambos en la forma (x, y, z)
. Estos puntos representan una línea en el espacio 3D.
También tengo un punto P
, definido en el mismo formato, que no está en la línea.
¿Cómo calcularía la proyección de ese punto en la línea? Soy consciente de cómo hacer esto en 2D, pero 3D parece tener todos los recursos molestos.
mathematics
geometry
EndOfTheZoners
fuente
fuente
a.x*b.x+a.y*b.y+a.z*b.z ...
todo lo demás es tan sencillo como la operación por coordenadas entre vectores.Aquí hay una manera rápida y fácil de hacerlo en Python:
Use flotadores; Si sus vectores contienen números enteros, la división será una división entera, y los resultados serán incorrectos.
fuente
/dot(ab,ab)
es redundante