2-D-Übersetzungsmatrix

Angenommen, ich hätte den Positionsvektor [ X j ] und ich wollte es so übersetzen, dass es an der Geschichte liegt [ A B ] . Ich weiß, dass ich meine Übersetzungsmatrix als Ertrag haben möchte [ A + X B + j ] . Ich habe jedoch Probleme, eine zu finden 2 X 2 Matrix dazu. Ich kann mir folgendes einfallen lassen 3 X 3 Matrix: T = [ 1 0 A 0 1 B 0 0 0 ]

Dann den Punkt multiplizieren [ X j 1 ] von T Erträge [ A + X B + j 0 ] . Allerdings das Beste 2 D Matrix, die ich mir einfallen lassen könnte, ist [ 1 A j B X 1 ] . Das funktioniert natürlich nicht, wenn mein Positionsvektor auf dem steht X oder j Achse. Ich habe das Gefühl, dass dies ein leicht zu lösendes Problem sein sollte, aber ich scheine auf eine Straßensperre zu stoßen. Irgendwelche Vorschläge?

Eine zweidimensionale Matrix ist unmöglich, da die Translationstransformation nicht linear ist.

Antworten (2)

Es ist nicht möglich, die betrachtete Transformation als zweidimensionale lineare Transformation zu schreiben. Überlegen Sie, was mit dem Nullvektor passiert: Das wissen wir für jeden 2 × 2 Matrix M , das sollten wir haben M 0 = 0 M = 0 . Der Trick, den Sie gefunden haben, um den Vektor mit einer zusätzlichen Spalte zu erweitern und dann zu verwenden 3 × 3 Matrizen sind stattdessen genau eine der Standardmethoden zur Darstellung affiner Transformationen .

Dies sieht aus wie eine affine Transformation

j = ICH X + X 0

das ist

[ A + X B + j ] = [ 1 0 0 1 ] [ X j ] + [ A B ]