Tipp 5
Skalierungsmatrix aufstellen
Für die Skalierung eines Objekts/Punkts mit den ursprünglichen Koordinaten \( \left( \begin{array}{} x \\ y \end{array} \right) \) in \(x\)- und \(y\)-Richtung wurde folgender Algorithmus definiert:
\( \left( \begin{array}{} x' \\ y' \end{array} \right) = \left( \begin{array}{} s_x \cdot x \\ s_y \cdot y \end{array} \right) \)
Wir erweitern diesen Term nun um die jeweils andere Koordinate:
\( \left( \begin{array}{} s_x \cdot x \\ s_y \cdot y \end{array} \right) = \left( \begin{array}{} s_x \cdot x + 0 \cdot y \\ 0 \cdot x + s_y \cdot y \end{array} \right)\)
Wenn wir nun die Regeln der Matrizenmultiplikation "rückwärts" anwenden, ergibt sich:
\( \left( \begin{array}{} s_x \cdot x + 0 \cdot y \\ 0 \cdot x + s_y \cdot y \end{array} \right) = \left( \begin{array}{} s_x & 0 \\ 0 & s_y \\ \end{array} \right) \cdot \left( \begin{array}{} x \\ y \end{array} \right)\)
Insgesamt können wir also das Ergebnis einer Skalierung als Multiplikation einer Skalierungsmatrix \(S = \left( \begin{array}{} s_x & 0 \\ 0 & s_y \\ \end{array} \right) \) mit dem ursprünglichen Vektor \( \vec{v} = \left( \begin{array}{} x \\ y \end{array} \right) \) berechnen:
\( \vec{v'} = S \cdot \vec{v} = \left( \begin{array}{} s_x & 0 \\ 0 & s_y \\ \end{array} \right) \cdot \left( \begin{array}{} x \\ y \end{array} \right) \)
(Denken Sie auch hier daran, dass mit dieser Operation nur in Bezug auf den Koordinatenursprung skaliert wird.)