Übungen: Transformationen
Aufgaben zu affinen Transformationen (affine transformations), homogenen Koordinaten (homogeneous coordinates) und dem Szenegraph (scene graph). Rechne jede Matrixmultiplikation Schritt fuer Schritt nach und pruefe das Ergebnis.
Beginner
Aufgabe 1 (Beginner) - Translation eines Punktes
Gegeben ist der Punkt und der Translationsvektor (translation vector) . Berechne .
Lösung anzeigen
Translation ist reine Vektoraddition (vector addition), komponentenweise:
Ergebnis: .
Tipp: Das neutrale Element (identity element) der Translation ist der Nullvektor . Addition von aendert nichts.
Mehr dazu in Kapitel 5: Transformationen.
Aufgabe 2 (Beginner) - Skalierung eines Punktes
Skaliere den Punkt mit den Faktoren , , .
Lösung anzeigen
Skalierung (scaling) ist die Multiplikation mit der Diagonalmatrix (diagonal matrix):
Ergebnis: .
Typischer Fehler: Skalierung wirkt nur relativ zum Ursprung (origin). Ein Punkt, der nicht im Ursprung liegt, aendert dabei auch seine Position, weil sein Abstand zum Ursprung mitskaliert wird.
Mehr dazu in Kapitel 5: Transformationen.
Aufgabe 3 (Beginner) - Rotation um 90 Grad um die Z-Achse
Drehe den Punkt um um die Z-Achse. Nutze und .
Lösung anzeigen
Die Rotationsmatrix (rotation matrix) um Z lautet:
Anwenden auf :
Ergebnis: . Der Punkt wandert von der X-Achse auf die Y-Achse, wie es eine Drehung gegen den Uhrzeigersinn erwarten laesst.
Tipp: Die Spalten der Rotationsmatrix sind die Bilder der Einheitsvektoren (unit vectors). landet auf .
Mehr dazu in Kapitel 5: Transformationen.
Fortgeschritten
Aufgabe 4 (Fortgeschritten) - Homogene 4x4-Translationsmatrix aufstellen
Stelle die homogene -Matrix (homogeneous matrix) fuer die Translation auf und wende sie auf den homogenen Punkt an.
Lösung anzeigen
Der additive Teil (Translation) steht in der letzten Spalte:
Anwenden auf :
Ergebnis: , euklidisch also .
Tipp: Eine reine -Matrix kann keine Translation ausdruecken, weil Translation Addition und nicht Multiplikation ist. Genau dafuer braucht man die 4. Koordinate .
Mehr dazu in Kapitel 5: Transformationen.
Aufgabe 5 (Fortgeschritten) - Homogenisierung (perspective divide)
Ein homogener Punkt lautet . Berechne den zugehoerigen euklidischen Punkt (euclidean point). Was passiert, wenn ist?
Lösung anzeigen
Die Homogenisierung (homogenization / perspective divide) teilt jede Komponente durch (nur fuer ):
Ergebnis: .
Fuer ist die Division nicht definiert. Ein solcher Punkt liegt "im Unendlichen" (Richtung statt Ort) und muss vom perspective divide ausgeschlossen werden.
Typischer Fehler: Die Homogenisierung (Division durch ) vergessen oder nicht abfangen.
Mehr dazu in Kapitel 5: Transformationen.
Aufgabe 6 (Fortgeschritten) - Rotation mit homogener 4x4-Matrix
Wende als homogene -Matrix auf den Punkt an.
Lösung anzeigen
Die homogene Rotationsmatrix um Z (mit , ):
Anwenden auf :
Ergebnis: , euklidisch . Die Z-Komponente bleibt unveraendert, weil um die Z-Achse gedreht wird.
Tipp: Der obere linke -Block ist der multiplikative Teil (Rotation/Skalierung), die letzte Spalte der additive Teil (Translation). Bei reiner Rotation ist die letzte Spalte .
Mehr dazu in Kapitel 5: Transformationen.
Anspruchsvoll
Aufgabe 7 (Anspruchsvoll) - Rotation um einen Referenzpunkt
Drehe den Punkt um um den Referenzpunkt (reference point) . Nutze den dreistufigen Algorithmus in homogenen 2D-Koordinaten ().
Lösung anzeigen
Schritt 1 - Die drei Matrizen aufstellen.
Schritt 2 - .
(Beispiel Eintrag oben rechts: .)
Schritt 3 - .
Schritt 4 - Auf anwenden.
Ergebnis: .
Kontrolle: Der Referenzpunkt selbst muss fix bleiben. . Er bleibt liegen, wie es sein muss.
Typischer Fehler: Ohne die Hin- und Ruecktranslation dreht man um den Ursprung statt um . Reihenfolge merken: zuerst wirkt (steht ganz rechts, direkt am Punkt).
Mehr dazu in Kapitel 5: Transformationen.
Aufgabe 8 (Anspruchsvoll) - Nicht-Kommutativitaet numerisch zeigen
Zeige an mit und , dass gilt.
Lösung anzeigen
Weg A: (zuerst rotieren, dann verschieben).
Weg B: (zuerst verschieben, dann rotieren).
Vergleich: . Die Reihenfolge entscheidet, Matrixmultiplikation ist nicht kommutativ (non-commutative).
Merksatz: Bei Spaltenvektoren steht die zuerst anzuwendende Transformation ganz rechts, direkt am Punkt. "Die Geometrie wandert rueckwaerts durch das Programm und sammelt die Transformationen ein."
Hinweis: Das Kapitel nennt fuer dieses Beispiel die Werte und . Diese lassen sich mit der im selben Kapitel definierten Matrix nicht reproduzieren; die hier gezeigten Werte bzw. sind Schritt fuer Schritt nachgerechnet. Die Kernaussage (Nicht-Kommutativitaet) bleibt in beiden Faellen dieselbe.
Mehr dazu in Kapitel 5: Transformationen.
Aufgabe 9 (Anspruchsvoll) - Skalierung um den eigenen Mittelpunkt
Ein Segment reicht in X von bis . Skaliere es mit um seinen Mittelpunkt (also Referenzpunkt ). Wo liegen die Endpunkte danach? Vergleiche mit einer Skalierung um den Ursprung.
Lösung anzeigen
Der Algorithmus ist . Wir rechnen beide Endpunkte per Hand (nur die X-Koordinate ist relevant, ).
Endpunkt :
- :
- mit :
- :
Endpunkt :
- :
- mit :
- :
Kontrolle Mittelpunkt : , , . Der Mittelpunkt bleibt fix.
Ergebnis: Das Segment reicht nun von bis . Die Laenge waechst von auf (Faktor ), der Mittelpunkt bleibt bei .
Vergleich mit Skalierung um den Ursprung: Dort wuerde und werden, also . Die Groesse waechst zwar ebenfalls um Faktor , aber der Mittelpunkt wandert von nach : Skalierung um den Ursprung veraendert auch die Position.
Typischer Fehler: Vergessen, dass Skalierung nur gegenueber dem Nullpunkt invariant ist. Wer eine Figur "an Ort und Stelle" vergroessern will, muss um ihren Referenzpunkt skalieren.
Mehr dazu in Kapitel 5: Transformationen.
Klausur-Niveau
Aufgabe 10 (Klausur-Niveau) - Szenegraph: akkumulierte Matrix der Erde
Im Miniatursonnensystem (mini solar system) ist die Wurzeltransformation (Rotation der Sonne um ihre Y-Achse). Die Erde erhaelt zusaetzlich (Translation weg von der Sonne). Die akkumulierte Matrix der Erde ist . Wohin wird der Erdmittelpunkt (lokaler Ursprung ) abgebildet? Nutze , .
Lösung anzeigen
Schritt 1 - Matrizen aufstellen. Bei steht oben rechts, unten links:
Schritt 2 - Weg ueber die Punkte (von rechts nach links). Zuerst wirkt auf den lokalen Ursprung:
Dann :
Ergebnis: Der Erdmittelpunkt liegt bei . Die von der Sonne geerbte Rotation dreht die verschobene Erde auf ihre Umlaufbahn (orbit); sie umkreist die Sonne in der XZ-Ebene.
Kontrolle ueber die akkumulierte Matrix. ergibt:
Angewendet auf liefert die letzte Spalte direkt . Beide Wege stimmen ueberein (Assoziativitaet).
Typischer Fehler: Die Elterntransformation im Szenegraph als erste statt als letzte (aeusserste) anwenden. Die Wurzel steht in der Kette ganz links und wirkt zuletzt.
Mehr dazu in Kapitel 5: Transformationen.
Aufgabe 11 (Klausur-Niveau) - Multiple Choice: Warum homogene Koordinaten?
Warum reicht eine -Matrix in 3D nicht aus, um alle affinen Transformationen zu beschreiben, sodass man homogene Koordinaten einfuehrt?
- A) Weil -Matrizen keine Rotation ausdruecken koennen.
- B) Weil eine reine -Matrix keine Translation ausdruecken kann (Translation ist Addition, nicht Multiplikation).
- C) Weil Skalierung eine 4. Koordinate benoetigt.
- D) Weil homogene Koordinaten die Berechnung schneller machen.
Lösung anzeigen
Richtig ist B.
Eine lineare Abbildung per -Matrix bildet den Ursprung immer auf den Ursprung ab und kann daher keine Translation (Verschiebung) darstellen, denn Translation ist eine Addition und keine Multiplikation. Mit einer zusaetzlichen 4. Koordinate und einer -Matrix laesst sich der additive Anteil in der letzten Spalte unterbringen, sodass Rotation, Skalierung und Translation in einer Matrix vereint sind.
Warum die anderen falsch sind:
- A) Rotation laesst sich sehr wohl mit einer -Matrix darstellen (siehe ).
- C) Skalierung ist eine Multiplikation und funktioniert bereits in .
- D) Geschwindigkeit ist ein Nebeneffekt der akkumulierten Matrix, aber nicht der Grund fuer homogene Koordinaten.
Mehr dazu in Kapitel 5: Transformationen.
Aufgabe 12 (Klausur-Niveau) - Vorzeichenmuster der R_y-Matrix
Fuelle die fehlenden Eintraege der Rotationsmatrix um die Y-Achse aus und begruende das Vorzeichenmuster:
Lösung anzeigen
Die vollstaendige Matrix lautet:
Die fehlenden Eintraege sind oben rechts und unten links .
Begruendung: Bei ist das Vorzeichenmuster spiegelverkehrt zu und . Dort steht oben (bzw. oben rechts im aktiven Block) und unten. Bei ist es genau umgekehrt: oben rechts, unten links. Die mittlere Zeile und Spalte gehoeren zur Y-Achse und bleiben mit einer auf der Diagonale unveraendert, weil die Drehung die Y-Komponente nicht anfasst.
Typischer Fehler: Das -Vorzeichen bei verwechseln. Merkhilfe: " ist der Sonderfall, wandert nach oben rechts."
Mehr dazu in Kapitel 5: Transformationen.