Grafiti Zum Inhaltsverzeichnis Zum Index
3D-Transformationen
Rotation
Rotation um die x- bzw. y-Achse und mathematische Darstellung
Vorherige Seite Nächste Seite
Trennlinie

 
 
Rotation um die x- bzw. y-Achse und mathematische Darstellung

Als Abschluß auf der vorherigen Seite hast Du die Herleitung der mathematischen Formeln zur Rotation um die z-Achse kennengelernt. Natürlich stellt sich für den 3D-Raum die Frage, wie die z-Koordinate mit einbezogen werden muß. Wenn Du Dir diese Rotation vorstellst, so wird ja die "Tiefe" gar nicht verändert, sondern bleibt konstant! Das heißt, der z-Wert der Koordinaten wird nicht neu berechnet, sondern unverändert übernommen. Somit gilt für die Rotation um die z-Achse folgende Formel (Beta ist der Rotationswinkel):

Rotation um z-Achse

Wie ich eingangs sagte, kann ein Objekt um die drei Koordinatenachsen rotiert werden. Für die Rotationen um die x- bzw. y-Achse gilt praktisch das gleich wie für die Rotation um die z-Achse. Natürlich wird statt der (x,y)-Ebene dann die (y,z)- bzw. (x,z)-Ebene betrachtet. Die Koordinaten auf der Achse, um die rotiert wird, ändern sich entsprechend wieder nicht. Dadurch erhältst Du für diese Rotationen folgende mathematische Darstellung:

Rotation x und y
 
 
 
Darstellung der Rotation mit homogenen Koordinaten

Im vorherigen Abschnitt hast Du die intuitive Formel-Darstellung der Rotation kennengelernt. Eigentlich könnte das Kapitel damit beendet sein, aber es gibt noch einen sehr wichtigen Punkt. Wie Du in den Kapiteln über Translation und Skalierung sehen wirst (oder vielleicht schon gesehen hast), werden diese Transformationen auf ähnliche Weise durch Matrizen dargestellt. Es handelt sich um Matrizen-Multiplikationen. Wie Du Dir vielleicht schon vorstellen kannst, führt eine einheitliche Darstellung der Transformationen durch Matrizen zu dem Gedanken, mehrere Schritte (z.B. Skalierung und Rotation) auf einem Objekt möglichst effektiv durchführen zu können. Dann lassen sich verschiedene, hintereinander ausgeführte Transformationsschritte durch das Aus-Multiplizieren der einzelnen Matrizen auf eine einzige Matrix darstellen. Dies macht bei einem oder nur wenigen Punkten zwar wenig Sinn, aber wenn Du wieder an umfangreiche Objekte mit vielen Tausend Punkten denkst, so wird der Wunsch nach Optimierung in der Berechnung verständlich.

Da die Translation aus der Matrizen-Addition in die Matrizen-Multiplikation von 4×4-Matrizen mit Hilfe der homogenen Koordinaten überführt wurde, muß diese Anpassung auch mit der Rotation durchgeführt werden. Um nun die nötigen Vektoren und Matrizen für eine 4×4-Matrix-Multiplikation zu erhalten, sind mehrere Schritte nötig. Als erstes wird die Darstellung mit den Regeln der homogenen Koordinaten erweitert. Dieses Verfahren ist ein Hilfsmittel aus der Mathematik und war schon Jahre vor der Verwendung in der Computer-Grafik bekannt. Praktisch bedeutet diese Erweiterung, daß der Punkt-Vektor um einen Eintrag mit dem festen Wert "1" erweitert wird:

P(x,y,z,1)

Als nächstes muß eine Matrix gefunden werden, mit der dieser erweiterte Punkt-Vektor multipliziert werden kann. Um den Rahmen nicht zu sprengen, wirst Du die Herleitung wieder an der Rotation um die z-Achse kennenlernen; ein Übertragen auf die x- bzw. y-Achse dürfte Dir keine Probleme bereiten. Aus den Regeln der homogenen Koordinaten und der Matrizenmultiplikation ergibt sich eine 4×4-Matrix, die folgendes Aussehen hat (um mit den Darstellungen der vorherigen Kapitel konform zu bleiben, steht rz für den Rotationswinkel um die z-Achse):

R(rz) Matrix

Diese Matrix wird als Rotationsfunktion um die z-Achse bezeichnet. Nachfolgend findest Du die Darstellung in homogenen Koordinaten für die Rotationen um die z-Achse.

Rotationsmatrix in homogenen Koord.
 
 
 
Ausblick

Nachdem Dir nun die Rotation theoretisch nähergebracht wurde, kannst Du auf der nächsten Seite in einem Programm das Erlernte praktisch nachvollziehen.  


Trennlinie
Abteilung Computergrafik und Softwareergonomie Zum Seitenanfang Vorherige Seite Nächste Seite

Letzte Änderung 20. Januar 2001 © Copyright Uwe Thaden