Computergrafik

Beispiel Zu Homogenen Matrizen

Homogene Matrizen | | Skalierung

Einfaches Beispiel:

Rotation eines Punktes um 90 Grad um die Y-Achse:

Rotationswinkel $\alpha=90$, Rotationsachse $\vec{a} = (0,1,0)$
$ M_R = \left( \begin{array}{c c c c} 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ -1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) $

Rotation des Punktes $\vec{v} = (1,2,3,1)$:

$v' = R\vec{v} = (3,2,-1,1)$

Mit GLM bzw. GLSLmath:

  1. mat4 R = mat4::rotate(90, vec3(0,1,0));
  2. vec4 v = R * vec4(1,2,3);

Weiteres Beipiel einer zusammengesetzten Transformation:

Rotation um Punkt P (nicht um den Ursprung) ist eine zusammengesetzte Transformation wie folgt:

$M = M_T(\vec{P}) M_R M_T(-\vec{P})$

Mit GLM bzw. GLSLmath:

  1. mat4 M = T * R * T.invert();
  2. mat4 M = T * R * mat4::invert(T);


Homogene Matrizen | | Skalierung

Options: