Relative Koordinaten in einem verzerrten Viereck berechnen |
12.01.2013, 13:16 | Tjomas | Auf diesen Beitrag antworten » |
Relative Koordinaten in einem verzerrten Viereck berechnen Hi, ich habe ein verzerrtes Viereck in einem 2D Koordinaten-System. Zusätzlich habe ich einen Punkt innerhalb des Vierecks und muss dessen relative Position berechnen. Im Anhang habe ich das mal versucht durch die Punkte anzudeuten. Ich muss im Prinzip für jeden Punkt innerhalb des Vierecks einen x und y Wert zwischen 0 und 1 berechnen können. In einem nicht verzerrten Rechteck ist das durch Verschiebung und Skalierung viel einfacher, aber ich komme einfach nicht auf den richtigen Ansatz, um das Probelm zu lösen. Der umgekehrte Weg, aus zwei relativen Koordinaten den ursprünglichen Punkt zu berechnen ist für mich viel leichter, aber ich schaffe es nicht den Weg umzudrechen. Dabei habe ich einfach für den unteren und oberen Vektor eine lineare Interpolation mit x durchgeführt und mit den zwei Ergebnisvektoren eine Interpolation mit y. Kann mir jemand helfen? Meine Ideen: Meine Idee war es, die Verzerrung des Viereckt zurück zu rechnen und das Viereck inkl. dem gesuchten Punkt so in den Einheitsraum zu transformieren. |
||
14.01.2013, 22:37 | Gualtiero | Auf diesen Beitrag antworten » |
RE: Relative Koordianten in einem verzerrten Viereck berechnen Wenn ich Dein Problem richtig verstandne habe, ist mir dazu eine einfache, aber leider etwas umständliche Lösung eingefallen, bei der viel Rechenarbeit nötig ist. Eine Lösung über ein kleines Programm ist naheliegend. Ich gehe von Deinem Beispiel aus und verlängere im Viereck je zwei gegenüberliegende Seiten, bis sie sich schneiden, und bekomme so S1 und S2. Diese Schnittpunkte fasse ich als Mittelpunkte von Kreisen auf, wobei der Radius unwichtig ist. Die zwei gegenüberliegenden Seiten schließen einen Winkel ein, den ich als Einheit ansehe. Ebenso schließt z. b. die Strecke PS1 mit der Gerade durch A und D einen Winkel ein, der natürlich kleiner ist als der vorhin erwähnte. Das Verhältnis: kleiner Winkel zu größerem Winkel stellt eine Koordinate in Deinem speziellen System dar. Dasselbe gilt für die beiden anderen Seiten samt ihrem Schnittpunkt. Sollten zwei Seiten im Viereck parallel zueinander sein - umso besser. Dann kann man mit Lot- bzw. Parallelabständen arbeiten. Eine Schnellskizze möge den Ansatz verdeutlichen. [attach]27847[/attach] Edit: Die Idee mit den Kreisen bringt nichts; es bleibt bei der Berechnung der Schnittpunkte und der Winkel und deren entsprechenden Verhältnissen. |
||
21.01.2013, 23:11 | Tjomas | Auf diesen Beitrag antworten » |
Danke für den Ansatz. Habe hier noch einen gut programmierbaren Weg gefunden. http://math.stackexchange.com/a/104595 funktioniert super. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |