prev up next


Aufgabe 2.3 (40 Punkte)

Sei das Dreieck $D_{1}$ durch die Punkte $P_{1}\left(0,1,3\right)$, $P_{2}\left(1,-1,2\right)$ und $P_{3}\left(-1,2,1\right)$ und die folgenden Transformationen in $\mathbb{R}^{4\times4}$ gegeben.

  1. Stellen Sie die einzelnen Transformationsmatrizen exakt auf und berechnen Sie das Produkt $M=T\cdot S\cdot R_{y}\cdot R_{x}$ ebenfalls exakt.
  2. Berechnen Sie das Dreieck $D_{2}$, welches durch das Anwenden der Gesamttransformation $M$ auf das Dreieck $D_{1}$ entsteht.
  3. Berechnen Sie die inverse Transformation $M^{-1}$ zu $M$ exakt.
  4. Erweitern Sie das Projekt aus Aufgabe 2 und schreiben Sie eine Javaklasse Transformation, in deren main-Methode das Dreieck $D_{2}$ mithilfe der Klassen Vector4f und Matrix4f aus dem Package org.lwjgl.util.vector berechnet wird.

Musterlösung vom 09.05.2012:

  1. Für die Rotationen ergeben sich die Matrizen

    \begin{displaymath}
R_{x}\left(\frac{2\pi}{3}\right)=\left(\begin{array}{cccc}
1...
...{3}}{2} & -\frac{1}{2} & 0\\
0 & 0 & 0 & 1
\end{array}\right)
\end{displaymath}

    und

    \begin{displaymath}
R_{y}\left(-\frac{2\pi}{6}\right)=\left(\begin{array}{cccc}
...
...{2} & 0 & \frac{1}{2} & 0\\
0 & 0 & 0 & 1
\end{array}\right).
\end{displaymath}

    Für die Skalierung S und die Translation T ergeben sich die Matrizen

    \begin{displaymath}
S\left(1,-\frac{1}{2},2\right)=\left(\begin{array}{cccc}
1 &...
...} & 0 & 0\\
0 & 0 & 2 & 0\\
0 & 0 & 0 & 1
\end{array}\right)
\end{displaymath}

    und

    \begin{displaymath}
T\left(-1,-2,2\right)=\left(\begin{array}{cccc}
1 & 0 & 0 & ...
...& 0 & -2\\
0 & 0 & 1 & 2\\
0 & 0 & 0 & 1
\end{array}\right).
\end{displaymath}

    Die Multiplikation der beiden Rotationen ergibt

    \begin{displaymath}
R_{y}\cdot R_{x}=\left(\begin{array}{cccc}
\frac{1}{2} & 0 &...
...3}}{4} & -\frac{1}{4} & 0\\
0 & 0 & 0 & 1
\end{array}\right).
\end{displaymath}

    Die Multiplikation der Translation mit der Skalierung ergibt

    \begin{displaymath}
T\cdot S=\left(\begin{array}{cccc}
1 & 0 & 0 & -1\\
0 & 1 &...
...& 0 & -2\\
0 & 0 & 2 & 2\\
0 & 0 & 0 & 1
\end{array}\right).
\end{displaymath}

    Und somit ist die gesamte Transformation

    \begin{eqnarray*}
M & = & \left(T\cdot S\right)\cdot\left(R_{y}\cdot R_{x}\right...
...t{3}}{2} & -\frac{1}{2} & 2\\
0 & 0 & 0 & 1
\end{array}\right).
\end{eqnarray*}



  2. Um das Dreieck $D_{1}$ in das transformierte Dreieck zu überführen, müssen die einzelnen Punkte mit der Matrix M multipliziert werden. Um die Multiplikation ausführen zu können, müssen die Vektoren natürlich um die homogene Koordinate $w=1$ erweitert werden.

    \begin{displaymath}
Q_{1}=M\cdot P_{1}=\left(\begin{array}{cccc}
\frac{1}{2} & -...
...\sqrt{3}-7}{4}\\
\frac{\sqrt{3}+1}{2}\\
1
\end{array}\right)
\end{displaymath}


    \begin{displaymath}
Q_{2}=M\cdot P_{2}=\left(\begin{array}{cccc}
\frac{1}{2} & -...
...\sqrt{3}-9}{4}\\
\frac{\sqrt{3}+2}{2}\\
1
\end{array}\right)
\end{displaymath}


    \begin{displaymath}
Q_{3}=M\cdot P_{3}=\left(\begin{array}{cccc}
\frac{1}{2} & -...
...\
\frac{\sqrt{3}-6}{4}\\
\frac{3}{2}\\
1
\end{array}\right)
\end{displaymath}

    Das Dreieck $D_{2}$ setzt sich dann aus den Punkten $Q_{1},Q_{2}$ und $Q_{3}$ zusammen.
  3. Um die Transformation $M$ zu invertieren, werden ihre Bestandteile jeweils invertiert und dann in umgekehrter Reihenfolge zusammengefügt.

    \begin{displaymath}
R_{x}\left(\frac{2}{3}\pi\right)^{-1}=R_{x}\left(-\frac{2}{3...
...{3}}{2} & -\frac{1}{2} & 0\\
0 & 0 & 0 & 1
\end{array}\right)
\end{displaymath}


    \begin{displaymath}
R_{y}\left(-\frac{2}{6}\pi\right)^{-1}=R_{y}\left(\frac{2}{6...
...}{2} & 0 & \frac{1}{2} & 0\\
0 & 0 & 0 & 1
\end{array}\right)
\end{displaymath}


    \begin{displaymath}
S\left(1,-\frac{1}{2},2\right)^{-1}=S\left(1,-2,\frac{1}{2}\...
...\
0 & 0 & \frac{1}{2} & 0\\
0 & 0 & 0 & 1
\end{array}\right)
\end{displaymath}


    \begin{displaymath}
T\left(-1,-2,2\right)^{-1}=T\left(1,2,-2\right)=\left(\begin...
... & 0 & 2\\
0 & 0 & 1 & -2\\
0 & 0 & 0 & 1
\end{array}\right)
\end{displaymath}


    \begin{displaymath}
R_{x}^{-1}\cdot R_{y}^{-1}=\left(\begin{array}{cccc}
\frac{1...
...{3}}{2} & -\frac{1}{4} & 0\\
0 & 0 & 0 & 1
\end{array}\right)
\end{displaymath}


    \begin{displaymath}
S^{-1}\cdot T^{-1}=\left(\begin{array}{cccc}
1 & 0 & 0 & 1\\...
...
0 & 0 & \frac{1}{2} & -1\\
0 & 0 & 0 & 1
\end{array}\right)
\end{displaymath}

    Und damit erhalten wir schließlich die Gesamttransformation

    \begin{eqnarray*}
M^{-1} & = & \left(R_{x}^{-1}\cdot R_{y}^{-1}\right)\cdot\left...
...& \frac{1+9\cdot\sqrt{3}}{4}\\
0 & 0 & 0 & 1
\end{array}\right)
\end{eqnarray*}



/home/cg/2012/Uebung/Blatt2/Aufg/Transformation.java 


prev up next