prev up inhalt next

Rotation

Rotation um die $z$-Achse

\begin{eqnarray*}
x'&:=&x \cdot \cos (\delta )-y \cdot \sin ( \delta )\\
y'&:=&x \cdot \sin (\delta )+y \cdot \cos ( \delta )\\
z'&:=&z
\end{eqnarray*}



Die daraus resultierende Transformationsmatrix lautet:

\begin{displaymath}
R_{z}(\delta)= \left( \begin{array}{cccc}
\cos (\delta ) & -...
...0 & 0\\
0 & 0 & 1 & 0\\
0 & 0 & 0 & 1\\
\end{array} \right)
\end{displaymath}

Rotation um die $x$-Achse

\begin{eqnarray*}
x'&:=&x \\
y'&:=&y \cdot \cos ( \delta )-z \cdot \sin (\delta )\\
z'&:=&y \cdot \sin ( \delta )+z \cdot \cos (\delta )
\end{eqnarray*}



Die daraus resultierende Transformationsmatrix lautet:

\begin{displaymath}
R_{x}(\delta)= \left( \begin{array}{cccc}
1 & 0 & 0 & 0\\
0...
... ) & \cos (\delta ) & 0\\
0 & 0 & 0 &1\\
\end{array} \right)
\end{displaymath}

Rotation um die $y$-Achse

\begin{eqnarray*}
x'&:=&z \cdot \sin ( \delta )+x \cdot \cos (\delta )\\
y'&:=&y\\
z'&:=&z \cdot \cos ( \delta )-x \cdot \sin (\delta )
\end{eqnarray*}



Die daraus resultierende Transformationsmatrix lautet:

\begin{displaymath}
R_{y}(\delta)= \left( \begin{array}{cccc}
\cos(\delta) & 0 &...
...0 & \cos (\delta ) & 0\\
0 & 0 & 0 & 1\\
\end{array} \right)
\end{displaymath}

Rotation um eine beliebige Achse

Voraussetzung: Die Rotationsachse stimme nicht mit einer der Koordinatenachsen überein.

Idee:
Transformiere Rotationsachse und Objekt so, daß die Rotationsachse mit der $z$-Achse übereinstimmt, rotiere um vorgegebenen Winkel $ \delta $, transformiere zurück.

  1. Translation von Rotationsachse (und Objekt), so daß die Rotationsachse durch den Ursprung läuft.
  2. Rotation der Rotationsachse um die $x$-Achse in die $ x z $-Ebene.
  3. Rotation der Rotationsachse um die $y$-Achse in die $z$-Achse.
  4. Rotation des Objekts um die $z$-Achse mit Winkel $ \delta $.
  5. Rücktransformation des gedrehten Objekts durch Anwendung der inversen Transformationen der Schritte (3), (2) und (1).
Ist die Rotationsachse durch die Punkte $ P_{1}, P_2$ gegeben, so gilt

\begin{displaymath}
\vec{v}=P_2 - P_1= \left( \begin{array}{c}
x_2 - x_1 \\
y_2 - y_1 \\
z_2 - z_1
\end{array}\right) .
\end{displaymath}

Die Länge dieses Vektors lautet

\begin{displaymath}
\vert\vec{v}\vert= \sqrt { {(x_{2}-x_{1})}^{2} +{( y_{2}-y_{1})}^{2} +{(z_{2}-z_{1})}^{2}} .
\end{displaymath}

Die Komponenten des zugehörigen Einheitsvektors

\begin{displaymath}
\vec{u} = \frac{\vec{v}}{\vert\vec{v}\vert}= \left( \begin{array}{c}
a \\
b \\
c
\end{array}\right), \vert\vec{u}\vert = 1
\end{displaymath}

lauten daher

\begin{displaymath}
a= \frac{x_2-x_1}{\vert\vec{v}\vert}, ~ b= \frac{y_{2}-y_{1}}{\vert\vec{v}\vert}, ~ c=
\frac{z_{2}-z_{1}}{\vert\vec{v}\vert}.
\end{displaymath}

Schritt 1 läßt sich durch die Translation $T(- x_{1}, -y_{1}, -z_{1})$ durchführen. Dadurch wird $P_1$, Ausgangspunkt des Einheitsvektors $\vec{u}$, in den Ursprung verschoben.

Für Schritt 2 sind Sinus und Cosinus des Rotationswinkels $\alpha$ erforderlich, der zwischen der Projektion $ \vec{u}' $ von $\vec{u}$ auf die $ y z $-Fläche und der $z$-Achse, repräsentiert durch den Vektor $ \vec{u_z} =(0 \;0 \; 1)^T $, liegt.


$\Rightarrow \cos (\alpha ) =\frac{c}{d} $
$\Rightarrow \sin (\alpha ) = \frac{b}{d} $

Nach Schritt 2 befindet sich der ursprüngliche Vektor $\vec{u}$ als $\vec{u}''$ in der $ x z $-Ebene:


Für Schritt 3 (Rotation um $y$-Achse) benötigt man Sinus und Cosinus des Rotationswinkels $\beta$. Positive Winkel ergeben eine Rotation gegen den Uhrzeigersinn, wenn man aus Richtung der Positiven $y$-Achse auf die $ x z $-Ebene schaut:


$ \Rightarrow \cos (\beta )= \cos (360^{\circ}-\beta )=d$
$ \Rightarrow \sin (\beta )= -\sin (360^{\circ}-\beta )=-a$

Nach den ersten drei Schritten ist die Drehachse mit der $z$-Achse identisch, so daß Schritt (4) mit der Rotationsmatrix $R_z(\delta)$ durchgeführt werden kann. Schritt (5) beinhaltet die Anwendung der inversen Transformationen.

Die Rotation um die Achse $\vec{v} = \overline{P_1 P_2}$ um den Winkel $ \delta $ läßt sich daher wie folgt darstellen:

\begin{displaymath}
R(\vec{v}, \delta) =
T(P_1)
R_x^{-1}(\alpha) \cdot
R_y^{-1}(...
...\delta) \cdot
R_y(\beta) \cdot
R_x(\alpha) \cdot
T(-P_1) \cdot
\end{displaymath}


prev up inhalt next