Processing math: 100%
MedicalVisualization

Homogene Matrizen

Rechenaufwand | | Skalierung

Homogene Identitätsmatrix:

I=(1000010000100001)

Mit GLM bzw. GLSLmath:

  • mat4 I;

Homogene Translationsmatrix:

MT(t)=(100tx010ty001tz0001)

Mit GLM bzw. GLSLmath:

  1. mat4 T = mat4::translate(tx, ty, tz);
  2. vec4 v(tx, ty, tz); mat4 T = mat4::translate(v);

Homogene Rotationsmatrix:

MR=(R00R10R200R01R11R210R02R12R2200001)

Mit GLM bzw. GLSLmath:

  1. mat4 R = mat4::rotate(angle, ax, ay, az);
  2. vec3 a(ax, ay, az); mat4 R = mat4::rotate(angle, a);

Homogene Starrkörper-Transformation ist zusammengesetzte Transformation:

M=MTMR

Mit GLM bzw. GLSLmath:

  1. mat4 M = mat4::translate(tx, ty, tz) * mat4::rotate(angle, ax, ay, az);
  2. mat4 M = mat4::rigid(angle, vec3(ax, ay, az), vec3(tx, ty, tz));

Beliebige lineare Transformations-Matrix:

M=(abcdefghijklmnop)

Mit GLM bzw. GLSLmath:

mat4 m(a, b, c, d,
       e, f, g, h,
       i, j, k, l,
       m, n, o, p);

Rotation um Punkt P ist zusammengesetzte Transformation:

M=MT(P)MRMT(P)

Mit GLM bzw. GLSLmath:

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


Rechenaufwand | | Skalierung

Options: