Was sind affine Transformationen? Treffen sie nur auf Punkte oder auch auf andere Formen zu? Was bedeutet es, dass sie "zusammengesetzt" werden können?
Was sind affine Transformationen? Treffen sie nur auf Punkte oder auch auf andere Formen zu? Was bedeutet es, dass sie "zusammengesetzt" werden können?
Antworten:
Eine affine Transformation ist eine lineare Transformation + ein Übersetzungsvektor.
Es kann auf einzelne Punkte oder auf Linien oder sogar Bezier-Kurven angewendet werden. Bei Linien bleibt die Eigenschaft erhalten, dass parallele Linien parallel bleiben. Bei Bezier-Kurven bleibt die Konvexhülleneigenschaft der Kontrollpunkte erhalten.
Multiplied-out, es produziert 2 Gleichungen zur Gewinnung von "transformiert" Koordinatenpaar aus dem ursprünglichen Paar ( x , y ) und eine Liste von Konstanten ( a , b , c , d , e , f ) . x ' = a ≤ x + c ≤ y + e
Praktischerweise können die lineare Transformation und der Translationsvektor zu einer 3D-Matrix zusammengefasst werden, die über homogene 2D-Koordinaten arbeiten kann.
Was die gleichen 2 Gleichungen oben ergibt.
Sehr bequem können die Matrizen selbst multipliziert werden, um eine dritte Matrix (von Konstanten) zu erzeugen, die die gleiche Transformation ausführt, wie die ursprüngliche 2 in Folge ausführen würde. Einfach ausgedrückt sind die Matrixmultiplikationen assoziativ.
Alternatively you can consider a few basic transform types and compose any more complex transform by combining these (multiplying them together).
Identity transform
Scaling
*Note: a reflection can be performed with scaling parameters or .
Translation
Skew x by y
Skew y by x
Rotation
[Note I've shown the form of Matrix here which accepts a row vector on the left. The transpose of these matrices will work with a column vector on the right.]
A matrix composed purely from scaling, rotation, and translation can be decomposed back into these three components.