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:
mat4 R = mat4::rotate(90, vec3(0,1,0));
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:
mat4 M = T * R * T.invert();
mat4 M = T * R * mat4::invert(T);
← Homogene Matrizen | ● | Skalierung →