Computergrafik

Homogene Koordinaten

Affine Transformationen | | Dehomogenisierung

Homogene Schreibweise von Ortsvektoren (z.B. Punkte) und Richtungsvektoren (z.B. Normalen) durch eine zusätzliche w-Koordinate

  • Punkt $\vec{P}=(p_x, p_y, p_z)^T$$(P_x, P_y, P_z, 1)^T$
  • Richtung $\vec{d}=(d_x, d_y, d_z)^T$$(d_x, d_y, d_z, 0)^T$

Homogene, d.h. einheitliche Darstellung von Orts- und Richtungsvektoren durch w=0 oder 1.

Eine Starrkörper-Transformation eines Punktes läßt sich durch die Multiplikation mit einer Matrix M in homogenen Koordinaten beschreiben:

$ R\vec{v}+\vec{t} = M\vec{v} $ mit $ M = \left( \begin{array}{c c c c} R_{00} & R_{10} & R_{20} & t_x \\ R_{01} & R_{11} & R_{21} & t_y \\ R_{02} & R_{12} & R_{22} & t_y \\ 0 & 0 & 0 & 1 \end{array} \right) $ und $\vec{v} = \left( \begin{array}{c} v_x \\ v_y \\ v_z \\ 1 \end{array} \right)$

Beweis durch Ausmultiplizieren:

$ R\vec{v}+\vec{t} = M\vec{v} = \left( \begin{array}{c c c c} R_{00} & R_{10} & R_{20} & t_x \\ R_{01} & R_{11} & R_{21} & t_y \\ R_{02} & R_{12} & R_{22} & t_y \\ 0 & 0 & 0 & 1 \end{array} \right) \left( \begin{array}{c} v_x \\ v_y \\ v_z \\ 1 \end{array} \right) $

$ = \left( \begin{array}{c} R_{00}v_x + R_{10}v_y + R_{20}v_z + t_x\cdot 1 \\ R_{01}v_x + R_{11}v_y + R_{21}v_z + t_y\cdot 1 \\ R_{02}v_x + R_{12}v_y + R_{22}v_z + t_z\cdot 1 \\ 1 \end{array} \right)$

Jede affine Transformation (auch eine Translation) ist eine Multiplikation mit einer 4×4 Matrix in homogenen Koordinaten!

Affine Transformationen | | Dehomogenisierung

Options: