Computergrafik
Skalierung
← Beispiel zu Homogenen Matrizen | ● | Transformationsbeispiel →
Zusätzlich erlauben die homogenen Matrizen die Skalierung (Verkleinern/Vergrößern) einer Szene:
Homogene Skalierungsmatrix:
$ M_S(s) = \left( \begin{array}{c c c c} s & 0 & 0 & 0 \\ 0 & s & 0 & 0 \\ 0 & 0 & s & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) $
Nicht uniforme Skalierungsmatrix:
$ M_S(s_x,s_y,s_z) = \left( \begin{array}{c c c c} s_x & 0 & 0 & 0 \\ 0 & s_y & 0 & 0 \\ 0 & 0 & s_z & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) $
Spiegelungen entlang einer Koordinatenachse sind nicht uniforme Skalierungen mit dem Faktor −1.
z.B. Spiegelung entlang der X-Achse bzw. an der YZ-Ebene:
$ M_S = \left( \begin{array}{c c c c} -1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) $
Mit GLM bzw. GLSLmath:
mat4 S = mat4::scale(s);
mat4 S = mat4::scale(sx, sy, sz);
← Beispiel zu Homogenen Matrizen | ● | Transformationsbeispiel →