Formelsammlung

Hier gibt es die volle Ladung Mathematik zum Thema 3D-Grafik: Meine Formelsammlung.

Die länge eines Vektors mit 4 Elementen

$ l = \sqrt{x^2 + y^2 + z^2 + t^2} $

Senkrechte Projektion eines Vektors a auf einen Vektor b

$ \vec p = \vec b \frac{\vec a \vec b}{\vec b ^ 2} $

Der Winkel zwischen zwei Vektoren

$ \cos \alpha = \frac{\vec a \vec b}{\lvert \vec a \rvert \lvert \vec b \rvert} $

Kreuzprodukt zweier Vektoren

$ \vec a \times \vec b = \left( \begin{array}{c} a_y b_z - a_z b_y \\ a_z b_x - a_x b_z \\ a_x b_y - a_y b_x \\ 0 \end{array} \right) $

Matrixmultiplikation

$ \left( \begin{array}{cccc}<br />
m_{11} & m_{12} & m_{13} & m_{14} \\<br />
m_{21} & m_{22} & m_{23} & m_{24} \\<br />
m_{31} & m_{32} & m_{33} & m_{34} \\<br />
m_{41} & m_{42} & m_{43} & m_{44}<br />
\end{array} \right)<br />
\left( \begin{array}{cccc}<br />
r_{11} & r_{12} & r_{13} & r_{14} \\<br />
r_{21} & r_{22} & r_{23} & r_{24} \\<br />
r_{31} & r_{32} & r_{33} & r_{34} \\<br />
r_{41} & r_{42} & r_{43} & r_{44}<br />
\end{array} \right)<br />
=<br />
\left( \begin{array}{cccc}<br />
e_{11} & e_{12} & e_{13} & e_{14} \\<br />
e_{21} & e_{22} & e_{23} & e_{24} \\<br />
e_{31} & e_{32} & e_{33} & e_{34} \\<br />
e_{41} & e_{42} & e_{43} & e_{44}<br />
\end{array} \right) $

mit

$ e_{11} = m_{11} r_{11} + m_{12} r_{21} + m_{13} r_{31} + m_{14} r_{41} $
$ e_{12} = m_{11} r_{12} + m_{12} r_{22} + m_{13} r_{32} + m_{14} r_{42} $
$ e_{13} = m_{11} r_{13} + m_{12} r_{23} + m_{13} r_{33} + m_{14} r_{43} $
$ e_{14} = m_{11} r_{14} + m_{12} r_{24} + m_{13} r_{34} + m_{14} r_{44} $
$ e_{21} = m_{21} r_{11} + m_{22} r_{21} + m_{23} r_{31} + m_{24} r_{41} $
$ e_{22} = m_{21} r_{12} + m_{22} r_{22} + m_{23} r_{32} + m_{24} r_{42} $
$ e_{23} = m_{21} r_{13} + m_{22} r_{23} + m_{23} r_{33} + m_{24} r_{43} $
$ e_{24} = m_{21} r_{14} + m_{22} r_{24} + m_{23} r_{34} + m_{24} r_{44} $
$ e_{31} = m_{31} r_{11} + m_{32} r_{21} + m_{33} r_{31} + m_{34} r_{41} $
$ e_{32} = m_{31} r_{12} + m_{32} r_{22} + m_{33} r_{32} + m_{34} r_{42} $
$ e_{33} = m_{31} r_{13} + m_{32} r_{23} + m_{33} r_{33} + m_{34} r_{43} $
$ e_{34} = m_{31} r_{14} + m_{32} r_{24} + m_{33} r_{34} + m_{34} r_{44} $
$ e_{41} = m_{41} r_{11} + m_{42} r_{21} + m_{43} r_{31} + m_{44} r_{41} $
$ e_{42} = m_{41} r_{12} + m_{42} r_{22} + m_{43} r_{32} + m_{44} r_{42} $
$ e_{43} = m_{41} r_{13} + m_{42} r_{23} + m_{43} r_{33} + m_{44} r_{43} $
$ e_{44} = m_{41} r_{14} + m_{42} r_{24} + m_{43} r_{34} + m_{44} r_{44} $

Invertieren von Matrizen (die Formeln stammen von Wikipedia)

$ A^{-1} = \frac{\operatorname{adj} (A)}{\det(A)} $

$ \operatorname{adj}(A) = \tilde A^T = \begin{pmatrix}<br />
\tilde a_{11} & \tilde a_{21} & \cdots & \tilde a_{n1}\\<br />
\tilde a_{12} & \tilde a_{22} &        & \tilde a_{n2}\\<br />
\vdots        &               & \ddots & \vdots\\<br />
\tilde a_{1n} & \tilde a_{2n} & \cdots & \tilde a_{nn}\end{pmatrix} $

Man sollte hierbei beachten, dass dem Indexpaar $ (i,j) $ der Cofaktor $ \tilde a_{ji} $ zugeordnet wird. Die Cofaktoren $ \tilde a_{ji} $ berechnen sich zu

$ \tilde a_{ji} = (-1)^{j+i}\cdot M_{ji} = (-1)^{j+i}\cdot \begin{vmatrix}<br />
a_{1,1}   & \cdots & a_{1,i-1}   & a_{1,i+1}   & \cdots & a_{1,n} \\<br />
\vdots    & \ddots & \vdots      & \vdots      & \ddots & \vdots \\<br />
a_{j-1,1} & \cdots & a_{j-1,i-1} & a_{j-1,i+1} & \cdots & a_{j-1,n} \\<br />
a_{j+1,1} & \cdots & a_{j+1,i-1} & a_{j+1,i+1} & \cdots & a_{j+1,n} \\<br />
\vdots    & \ddots & \vdots      & \vdots      & \ddots & \vdots \\<br />
a_{n,1}   & \cdots & a_{n,i-1}   & a_{n,i+1}   & \cdots & a_{n,n}\end{vmatrix} $

Die Minoren $ M_{ji} $ sind die Werte der Unterdeterminanten der transponierten Matrix $ A^T $, die durch Streichen der j-ten Zeile und der i-ten Spalte entstehen.

Mit dem laplaceschen Entwicklungssatz kann man die Determinante einer $ n \times n $-Matrix "nach einer Zeile oder Spalte entwickeln". Die beiden Formeln lauten

Entwicklung nach der j-ten Spalte:

$ \det A = \sum_{i=1}^n (-1)^{i+j} \cdot a_{ij} \cdot \det A_{ij} $

Entwicklung nach der i-ten Zeile:

$ \det A = \sum_{j=1}^n (-1)^{i+j} \cdot a_{ij} \cdot \det A_{ij} $

wobei $ A_{ij} $ die $ (n-1) \times (n-1) $-Untermatrix von A ist, die durch Streichen der i-ten Zeile und j-ten Spalte entsteht. Das Produkt $ (-1)^{i+j}\det A_{ij} $ wird Minore $ \tilde a_{ij} $ genannt.

Hier kann man das im Detail auf Wikipedia nachlesen:

Abbildungen mit Matrizen

$ \left( \begin{array}{cccc}<br />
m_{11} & m_{12} & m_{13} & m_{14} \\<br />
m_{21} & m_{22} & m_{23} & m_{24} \\<br />
m_{31} & m_{32} & m_{33} & m_{34} \\<br />
m_{41} & m_{42} & m_{43} & m_{44}<br />
\end{array} \right)<br />
\left( \begin{array}{c}<br />
v_x \\<br />
v_y \\<br />
v_z \\<br />
v_t<br />
\end{array} \right)<br />
=<br />
\left( \begin{array}{c}<br />
m_{11} v_x + m_{12} v_y + m_{13} v_z + m_{14} v_t \\<br />
m_{21} v_x + m_{22} v_y + m_{23} v_z + m_{24} v_t \\<br />
m_{31} v_x + m_{32} y_y + m_{33} v_z + m_{34} v_t \\<br />
m_{41} v_x + m_{42} y_y + m_{43} v_z + m_{44} v_t<br />
\end{array} \right) $

Drehmatrix um die X-Achse

$ \left( \begin{array}{cccc}<br />
1 & 0 & 0 & 0 \\<br />
0 & \cos \alpha & -\sin \alpha & 0 \\<br />
0 & \sin \alpha & \cos \alpha & 0 \\<br />
0 & 0 & 0 & 1<br />
\end{array} \right) $

Drehmatrix um die Y-Achse

$ \left( \begin{array}{cccc}<br />
\cos \alpha & 0 & \sin \alpha & 0 \\<br />
0 & 1 & 0 & 0 \\<br />
-\sin \alpha & 0 & \cos \alpha & 0 \\<br />
0 & 0 & 0 & 1<br />
\end{array} \right) $

Drehmatrix um die Z-Achse

$ \left( \begin{array}{cccc}<br />
\cos \alpha & \sin \alpha & 0 & 0 \\<br />
-\sin \alpha & \cos \alpha & 0 & 0 \\<br />
0 & 0 & 1 & 0 \\<br />
0 & 0 & 0 & 1<br />
\end{array} \right) $

Die Drehmatrix um eine beliebige Achse

Ist $ \vec{a} $ die Drehachse und $ \alpha $ der Drehwinkel und gilt $ |\vec{a}|=1 $ dann erhält man mit
$ x = a_x \sin \frac{\alpha}{2} $
$ y = a_y \sin \frac{\alpha}{2} $
$ z = a_z \sin \frac{\alpha}{2} $
$ w = \cos \frac{\alpha}{2} $
die Drehmatrix um die Achse $ \vec{a} $ und den Winkel $ \alpha $ mit
$ \left(<br />
\begin{array}{cccc}<br />
1-2(y^2 + z^2) & 2(xy-zw) & 2(xz + yw) & 0 \\<br />
2(xy+zw) & 1-2(x^2+z^2) & 2(yz-xw) & 0 \\<br />
2(xz-yw) & 2(yz+xw) & 1-2(x^2+y^2) & 0 \\<br />
0 & 0 & 0 & 1<br />
\end{array}<br />
\right) $