Angenommen, ich habe eine Linie, die durch zwei Punkte definiert ist, A
und zwar B
beide in der Form (x, y, z)
. Diese Punkte repräsentieren eine Linie im 3D-Raum.
Ich habe auch einen Punkt P
im selben Format definiert, der nicht auf der Linie steht.
Wie würde ich die Projektion dieses Punktes auf die Linie berechnen? Ich weiß, wie man das in 2D macht, aber 3D scheint alle Ressourcen zu haben.
mathematics
geometry
EndOfTheZoners
quelle
quelle
a.x*b.x+a.y*b.y+a.z*b.z ...
alles andere ist so einfach wie die Operation pro Koordinate zwischen Vektoren.Hier ist eine schnelle und einfache Möglichkeit, dies in Python zu tun:
Verwenden Sie Schwimmer; Wenn Ihre Vektoren Ganzzahlen enthalten, ist die Division eine Ganzzahldivision und die Ergebnisse sind falsch.
quelle
/dot(ab,ab)
ist überflüssig