Ich habe ein 3D-Mathematik-Problem, das ich einfach nicht lösen kann.Inverse 3D (Dreieck) Projektion
Ich habe Daten von 3 Punkten. Die Daten sind eine (2D-) Koordinate auf einer Ebene, die irgendwo im 3D-Raum schwebt. Ich kenne auch die (2D) Koordinate der Projektion. Das ergibt die folgende Reihe von Daten:
[[[x1,y1], [px1,py1],
[[x2,y2], [px2,py2],
[[x3,y3], [px3,py3]]
wo die normalen (x1 etc.) Koordinaten für die Koordinaten in der Ebene stehen und die anderen (PX1 etc.) für die projizierten Koordinaten.
Was ich tun möchte, ist projizieren eine neue 2D-Koordinate ([x4, y4]).
.
Was ich bisher versucht:
Ofcourse benötigen Sie ein Auge für die Projektion, so dass ich eingestellt, dass auf [xe, ye, -1]. Die Xe und Ye sind bekannt. (Es ist ein Foto-Bezug, also habe ich das Auge gerade in die Mitte des Fotos platziert.)
Unter dem Auge habe ich die Projektionsfläche platziert (z = 0). Das gibt die folgende Projektion Koordinaten:
[[[x1,y1], [px1,py1,0],
[[x2,y2], [px2,py2,0],
[[x3,y3], [px3,py3,0]]
ich das gleiche für die Koordinaten auf der Ebene nicht tun, da ich weiß nichts über diese Ebene.
Ich dachte mir auch, dass ich eine parametrisierte Formel der Linien vom Auge durch die Projektion Koordinaten machen könnte. Für Linie 1 wäre das:
Ich kenne auch den Abstand zwischen den Punkten in 3D. Das ist das Gleiche wie in 2D. Das heißt, der Abstand zwischen Punkt1 und Punkt2 wäre sqrt ((x1-x2)^2 + (y1-y2)^2).
Ich kenne auch die Entfernung zwischen den Linien (line1 und line2) zu jeder Zeit. Das ist sqrt ((line1x-line2x)^2 + (zeile1y-line2y)^2 + (line1z-line2z)^2).
Allerdings weiß ich nicht wirklich, wie man von hier aus ... Oder auch, ob dies der richtige Weg ist.
.
Ich hoffe, Sie verstehen, was ich tun können, und dass Sie mir helfen können.
Vielen Dank im Voraus!
Sie sagen, dass Sie drei Punkte (xn, yn) erhalten haben, die auf eine Ebene an Punkten projiziert werden (pxn, pyn) - und Sie möchten herausfinden, wie Sie einen neuen Punkt (x4, y4) zuordnen Ebene? –
Ja, mein Gott, das sage ich. Wenn ich jedoch in meiner Frage den Begriff "Ebene" verwende, meine ich die Ebene, auf der sich die Punkte (xn, yn) befinden (was meiner Meinung nach signifikant ist, wenn man den vierten Punkt abbildet). Entschuldigung für die Verwirrung. –
Sie haben drei Punkte auf einer Ebene (xn, yn), die auf die Projektionsebene (pxn, pyn) projiziert werden. Dies ist auch eine zentrale (perspektivische) Projektion, so dass alle Punkte durch Strahlen von einem einzigen Punkt projiziert werden. Sie möchten wissen, wie Sie die Projektion umkehren können: Wenn Sie also einen projizierten Punkt erhalten (px4, py4), wie erhalten Sie (x4, y4)?Was ich nicht bekomme, ist, dass deine ursprünglichen Punkte überhaupt keine z-Koordinaten haben. Warum sind sie nur x/y - kennen Sie die z-Koordinate oder sind diese x/y-Koordinaten innerhalb des eigenen Koordinatensystems der Ebene ...? –