Affine Transformationsmatrix aus zwei Punktepaaren berechnen |
21.03.2019, 15:16 | Sperber | Auf diesen Beitrag antworten » | ||
Affine Transformationsmatrix aus zwei Punktepaaren berechnen Hi, ich zerbreche mir schon seit geraumer Zeit den Kopf über folgendes Problem: Ich habe 2 Punkte im 2-dimensionalen Raum (P1=[P1X/P1Y] und P2=[P2X/P2Y]). Diese Punkte spannen eine Linie auf. Diese Linie wird rotiert, Skaliert und zuletzt verschoben. Dadurch erhalte ich die Transformierten Punkte Q1=[Q1X/Q1Y] und Q2=[Q2X/Q2Y] im selben Koordinatensystem. Bekannt sind die Punkte P1, P2, Q1 und Q2. Gesucht ist die gesamte Transformationsmatrix und die Matrizen der einzelnen Transformationen Rotation, Skalierung und Verschiebung. Eine Scheerung ist nicht in der Transformation vorhanden. Der Skalierungsfaktor K in X und Y Richtung ist gleich. Meine Ideen: Mein Ansatz wäre jetzt eine allgemeine Transformationsmatrix M_T wie folgt aufzustellen. (Falls die Formel hier nicht erscheint, habe ich sie noch als Bild angehängt) Leider habe ich dann 6 Unbekannte und nur 4 Gleichungen. m11, m12, m21 und m22 bestehen aber nur aus 2 Unbekannten. m11 = K*cos(alpha) m12 = -K*sin(alpha) m21 = K*sin(alpha) m22 = K*cos(alpha) Somit habe ich eigentlich nur 4 Unbekannte. Weiß jemand von euch, wie ich die Parameter der Matrix ermitteln kann? Vielen Dank. Viele Grüße Sperber |
||||
22.03.2019, 11:04 | HAL 9000 | Auf diesen Beitrag antworten » | ||
RE: Affine Transformationsmatrix aus zwei Punktepaaren berechnen
Deren Wirken kann man bei einer einzigen Geraden ja auch nicht von den bereits durch Rotation und Streckung bewirkten Einflüssen trennen - dazu bedarf es weiterer Objekte. Man betrachte die Verbindungsvektoren der beiden Punkte, d.h. und , dann erfüllen die offenbar die Gleichung . Durch Normbildung ergibt sich und damit . Den Winkel kann man beispielsweise durch Differenzbildung der Polarwinkel von und ermitteln. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |