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:

  1. mat4 S = mat4::scale(s);
  2. mat4 S = mat4::scale(sx, sy, sz);


Beispiel zu Homogenen Matrizen | | Transformationsbeispiel

Options: