Transformationen in 2D mit Matrizen

Lesedauer: 7 min | Vorlesen | Autor: Dr. Volkmar Naumburger

Transformationen im zweidimensionalen Raum unterscheiden sich nicht grundsätzlich von solchen im 3D-Raum. Da aber die Betrachtungsweise im zweidimensionalen Raum anschaulicher ist, werden alle Transformationen zunächst im 2D-Raum erörtert. Ein Punkt in der Fläche wird durch seine Koordinaten bestimmt:

\(P = \left( {\begin{array}{*{20}{c} }x\\y\end{array} } \right) = {\left( {\begin{array}{*{20}{c} }x&y\end{array} } \right)^T}\) Gl. 215

Bisweilen wird zur Kennzeichnung eines Spaltenvektors auch die transponierte Schreibweise benutzt, weil diese Schreibweise platzsparend ist.

Translation

Die Translation ist dadurch gekennzeichnet, dass zu den Koordinaten des Punktes P Verschiebungswerte hinzugefügt werden:

\(\begin{array}{l}x' = x + {t_x}\\y' = y + {t_y}\end{array}\) Gl. 216

oder in Matrizenschreibweise:

\(P' = P + T = \left( {\begin{array}{*{20}{c} }x\\y\end{array} } \right) + \left( {\begin{array}{*{20}{c} }{ {t_x} }\\{ {t_y} }\end{array} } \right)\) Gl. 217

Skalierung

Bei der Skalierung erfolgt eine Multiplikation der Koordinaten des Punktes mit einem richtungsbezogenen Faktor:

\(\begin{array}{l}x' = {s_x} \cdot x\\y' = {s_y} \cdot y\end{array}\) Gl. 218

oder in Matrizenschreibweise:

\(P' = S \cdot P = \left( {\begin{array}{*{20}{c} }{ {s_x} }&0\\0&{ {s_y} }\end{array} } \right) \cdot \left( {\begin{array}{*{20}{c} }x\\y\end{array} } \right)\) Gl. 219

Beachte, dass die Wirkung der Skalierung abhängig ist vom Ort des Punktes. Ein weiter vom Nullpunkt entfernter Punkt wird absolut stärker beeinflusst als ein Punkt in der Nähe des Koordinatenursprungs. Siehe dazu Abbildung 20, Skalierung: der Punkt P1 wird weniger stark verrückt als der Punkt P3.

Scherung

Die Scherung kann auf einen einzelnen Punkt nicht sinnvoll angewendet werden, vielmehr wird sie auf Ensembles von Punkten angewandt. Daher wird für die folgende Betrachtung vorausgesetzt, dass ein Objekt aus mindestens zwei Punkten gebildet wird, wovon ein Punkt im Koordinatenursprung liege. Die Scherung ist ebenfalls richtungsabhängig:

\(\begin{array}{l}x' = x + {a_x} \cdot y\\y' = {a_y} \cdot x + y\end{array}\) Gl. 220

oder in Matrizenschreibweise:

\( P' = Sh \cdot P = \left( {\begin{array}{*{20}{c} } 1&{ {a_x} } \\ { {a_y} }&1 \end{array} } \right) \cdot \left( {\begin{array}{*{20}{c} } x \\ y \end{array} } \right) \) Gl. 221

Durch die Einführung der Scherungskoeffizienten ax bzw. a y bleibt die Linien­parallelität des gescherten Objektes erhalten, wohingegen Winkel und Längen beeinflusst werden. Die Werte für a x bzw. ay entsprechen den Tangenswerten der jeweiligen Scherungswinkel a und b:

\(\begin{array}{l}{a_x} = \tan (\alpha )\\{a_y} = \tan (\beta)\end{array}\) Gl. 222

Wird die Scherungsoperation auf den Punkt im Ursprung angewendet, bleibt dies ohne Wirkung, da x = y = 0 sind.

Sonderfälle der Scherung

a) Scherung parallel zur x-Achse

\(P' = Sh \cdot P = \left( {\begin{array}{*{20}{c} }1&{ {a_x} }\\0&1\end{array} } \right) \cdot \left( {\begin{array}{*{20}{c} }x\\y\end{array} } \right)\) Gl. 223

b) parallel zur y-Achse

\(P' = Sh \cdot P = \left( {\begin{array}{*{20}{c} }1&0\\{ {a_y} }&1\end{array} } \right) \cdot \left( {\begin{array}{*{20}{c} }x\\y\end{array} } \right)\) Gl. 224

Abbildung 21 Scherung parallel zur x-Achse und y-Achse
Abbildung 21: Scherung parallel zur x-Achse und y-Achse

Rotation

Die Rotation ist dadurch gekennzeichnet, dass der Punkt bei gleichbleibendem Abstand vom Ursprung um einen bestimmten Winkel entlang eines Kreises mit einem Radius, der genau diesem Abstand entspricht, verschoben wird:

\(\begin{array}{l}x' = x \cdot \cos \phi - y \cdot \sin \phi \\y' = x \cdot \sin \phi + y \cdot \cos \phi \end{array}\) Gl. 225

oder in Matrizenschreibweise:

\(P' = R \cdot P = \left( {\begin{array}{*{20}{c} }{\cos \phi }&{ - \sin \phi }\\{\sin \phi }&{\cos \phi }\end{array} } \right) \cdot \left( {\begin{array}{*{20}{c} }x\\y\end{array} } \right)\) Gl. 226

Körpererhaltende Transformation

  • Translation, Rotation und jegliche Kombination von beiden Transformationen erhalten Längen und Winkel von 2D-Objekten (körpererhaltende Transformation).
  • Skalierung, Scherung und deren Kombinationen erhalten die Linienparallelität, aber keine Winkel und Längen von 2D-Objekten.
  Hinweis senden