Grafiti Zum Inhaltsverzeichnis Zum Index
2D-Transformationen
Komposition von Transformationen
Vorherige Seite Nächste Seite
Trennlinie

Komposition von Transformationen

Einleitung

 
 
Die Komposition von Transformationen

Bisher wurde jede Transformation einzeln betrachtet. Sie wurde auf ein Objekt angewendet und die Berechnung war damit zu Ende. In den Kapiteln zur Translation, Skalierung und Rotation wurde aber umständlich noch eine erweiterte Funktion entworfen. Sie ist aus den homogenen Koordinaten gewachsen und soll hier nun verwendet werden.

Ziel dieses Abschnittes ist, die Verknüpfung der Funktionen mit sich selbst und den anderen Matrizen aufzuzeigen. Häufig werden in der Computergrafik nicht nur einzelne Punkte, sondern unter Umständen Millionen von Punkten betrachtet und auf die gleiche Art berechnet. Es macht also Sinn, soviele Berechnungsschritte wie möglich zu sparen, um vielleicht eine flüssige Animation zu bekommen.

In den nächsten Abschnitten betrachten wir zunächst wie sich Transformationen mit sich selbst und schließlich miteinander kombiniert verhalten. Zum Schluß siehst Du dann noch eine Anwendungsmöglichkeit zur Komposition von Transformationen.  

 
 
Wie verhalten sich 2D-Transformationen, wenn sie mit sich selbst kombiniert werden?

Bei der Komposition, also der Hintereinanderausführung von Transformationen, verhalten sich die Translation, Skalierung und Rotation unterschiedlich. Die Unterschiede sind Dir vielleicht schon in den einzelnen Abschnitten deutlich geworden und liegen in der Frage der Additivität oder Multiplikativität.  

 
 
Translation

Zeichnung - Translation

 

Betrachte die Abbildung auf der linken Seite. Der Punkt P wird zweimal verschoben. Erst zu Punkt und von dort weiter zu Punkt P´´. Wenn Du die x-Werte betrachtest, werden auf sie die Translationsvariablen dx1 und dx2 nacheinander angewendet. Die zurückgelegte Gesamtstrecke beträgt dx1+dx2. Die Matrizen werden natürlich weiterhin miteinander multipliziert. Berechne die beiden unteren Matrizen:

Translation - Multiplikation

Das Ergebnis der Berechnung sollte dann so aussehen:

Translation - Multiplikation Ergebnis

Die beiden Translationsvariablen werden innerhalb der Matrix addiert. Du siehst das eine zweifache Verschiebung eine Addition der beiden Verschiebungsvariablen zur Folge hat. Wird die zweifache Verschiebung auf einen Punkt angewendet, muß zuerst der Spaltenvektor des ersten Punktes und dann der Spaltenvektor des zweiten Punktes mit der resultierenden Matrix multipliziert werden. Bei der Komposition der beiden Verschiebungen wird aber nur die Hälfte der Berechnung nötig sein, da wir uns einen Schritt sparen können.  

 
 
Skalierung

Zeichnung - Skalierung

 

Die Skalierung hat gegenüber der Translation eine Multiplikation der Variablen zur Folge. Das sollte Dir anhand der linken Zeichnung deutlich werden. Annahme: Die erste Skalierung von P nach hat den Wert 0.5. Der Punkt muß also näher zum Ursprung wandern. Nehme weiter an, die zweite Skalierung von nach P´´ hat ebenfalls den Wert 0.5. Das Haus wandert also wieder näher zum Ursprung.

Im Abschnitt über die Skalierung wurde bereits deutlich, daß die Faktoren auf die Werte multipliziert werden. Hier wird also zweimal multipliziert. Als Gesamtskalierung kommt heraus: 0.5×0.5 = 0.25. Betrachte nun die beiden Matrizen und multipliziere sie miteinander:

Skalierung - Multiplikation

In der neu entstehenden Skalierungsfunktion

Skalierung - Multiplikation Ergebnis

werden die beiden Faktoren multipliziert. Vorteile bringt auch diese Komposition gegenüber der Einzelanwendung. Die Berechnungszeit kann halbiert werden.  

 
 
Rotation

Zeichnung - Rotation

 

Im Abschnitt über die Rotation wurden die Rotationsformel schon hergeleitet. Du konntest dort feststellen, daß sich zwei Winkel additiv verhalten. Wenn Du die Winkel in der linken Zeichnung betrachtest, stellst Du fest , daß Du sie auch als einen großen betrachten kannst.

Der Punkt P wird über den Punkt zu P´´ gedreht. Es wird also erst der Winkel auf P angewendet und anschließend auf . Wenn Du beide Funktionen miteinander multiplizierst,

Rotation - Multiplikation

solltest Du auf folgendes Ergebnis kommen.

Rotation - Multiplikation Ergebnis

Die Berechnung ist etwas umfangreicher als die der Translation und Skalierung. Du benötigst dazu einige trigonometrische Sätze. "Wir haben das hier mal vorbereitet" (Zitat Jean Pütz).  

 
 
Ausblick

Nachdem die Transformationen einzeln betrachtet wurden, sollen sie untereinander zusammengesetzt werden. Die bisherigen Überlegungen wurden angestellt um ein gewisses Grundgerüst für die nachfolgenden Seiten zu schaffen. Die folgenden Kompositionen werden angewendet, um immer wiederkehrende Berechnungen zeitsparender auszuführen. Die Ersparnis tritt schon nach wenigen Berechnungen auf. Man bekommt also schnell eine Effizienzsteigerung, wenn man bedenkt, daß beim Erstellen eines Bildes mehrere tausend Berechnungen durchgeführt werden müssen.  


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

Letzte Änderung 20. Januar 2001 © Copyright Palle Klante