Computergrafik
Homogene Matrizen
← Rechenaufwand | ● | Beispiel zu Homogenen Matrizen →
Homogene Identitätsmatrix:
$ I = \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 I;
Homogene Translationsmatrix:
$ M_T(\vec{t}) = \left( \begin{array}{c c c c} 1 & 0 & 0 & t_x \\ 0 & 1 & 0 & t_y \\ 0 & 0 & 1 & t_z \\ 0 & 0 & 0 & 1 \end{array} \right) $
Mit GLM bzw. GLSLmath:
mat4 T = mat4::translate(tx, ty, tz);
vec4 v(tx, ty, tz); mat4 T = mat4::translate(v);
Homogene Rotationsmatrix:
$ M_R = \left( \begin{array}{c c c c} R_{00} & R_{10} & R_{20} & 0 \\ R_{01} & R_{11} & R_{21} & 0 \\ R_{02} & R_{12} & R_{22} & 0 \\ 0 & 0 & 0 & 1 \end{array} \right) $
Mit GLM bzw. GLSLmath:
mat4 R = mat4::rotate(angle, ax, ay, az);
vec3 a(ax, ay, az); mat4 R = mat4::rotate(angle, a);
Homogene Starrkörper-Transformation ist zusammengesetzte Transformation:
$ M = M_T \cdot M_R $
Mit GLM bzw. GLSLmath:
mat4 M = mat4::translate(tx, ty, tz) * mat4::rotate(angle, ax, ay, az);
mat4 M = mat4::rigid(angle, vec3(ax, ay, az), vec3(tx, ty, tz));
Beliebige lineare Transformations-Matrix:
$M = \left( \begin{array}{cccc}a & b & c & d \\e & f & g & h \\i & j & k & l \\m & n & o & p \end{array} \right)$
Mit GLM bzw. GLSLmath:
mat4 m(a, b, c, d,
e, f, g, h,
i, j, k, l,
m, n, o, p);
e, f, g, h,
i, j, k, l,
m, n, o, p);