Powiedzmy, że mam linię zdefiniowaną przez dwa punkty A
i B
oba w formie (x, y, z)
. Punkty te reprezentują linię w przestrzeni 3D.
Mam również punkt P
zdefiniowany w tym samym formacie, który nie znajduje się na linii.
Jak obliczyć rzut tego punktu na linię? Wiem, jak to zrobić w 2D, ale wydaje się, że 3D ma w sobie wszystkie zasoby.
mathematics
geometry
EndOfTheZoners
źródło
źródło
a.x*b.x+a.y*b.y+a.z*b.z ...
wszystko inne jest tak proste, jak operacja na współrzędnych między wektorami.Oto szybki i łatwy sposób, aby to zrobić w Pythonie:
Użyj pływaków; Jeśli wektory zawierają liczby całkowite, podział będzie działem całkowitym, a wyniki będą niepoprawne.
źródło
/dot(ab,ab)
jest zbędny