Vektorraum
Ein Vektorraum über einem Körper ist ein Tripel bestehend aus einer Menge , einer Additions-Operation und einer Operation zur skalaren Multiplikation , so dass gilt
- ist eine abelsche Gruppe
- Assoziativität der skalaren Multiplikation:
- Neutrales Element:
- Distributivgesetze: und
Skalarprodukt
Sei ein -Vektorraum. Ein inneres Produkt (Skalarprodukt) ist eine Abbildung , so dass für beliebige Elemente und gilt:
- Symmetrie:
- Additivität:
- Multiplikativität:
- Positive Definitheit: und ist der Nullvektor (neutral bezüglich Addition)
Euklidisches Standardskalarprodukt
Das Euklidische Standardskalarprodukt im ist definiert als
Zum Beispiel: und ,
Anwendungen
Längenmessung
Die Länge eines Vektors entspricht dessen Betrag:
Die Betragsfunktion erfüllt dabei folgende Eigenschaften für beliebige Elemente :
- (Dreiecksungleichung)
Damit erfüllt die Betragsfunktion die Eigenschaften einer Norm (Abbildung, die die Größe eines Objekts beschreibt) und kann unter anderem dazu verwendet werden, Vektoren zu normalisieren (gleiche Orientierung, Länge 1):
Winkelmessung
Die Messung von Winkeln zwischen zwei Vektoren gilt als Hauptanwendung des Skalarprodukts. Mithilfe des Kosinussatzes lässt sich für und deren Schnittwinkel herleiten:
Somit gilt:
- falls
- falls
- zwei Vektoren sind genau dann orthogonal, wenn ihr Skalarprodukt ist:

Front-Facing/Back-Facing-Test: lässt sich nun mithilfe der Normalen der vom Polygon aufgespannten Ebenen durchführen:

Orthogonale Projektion von Vektoren
Ausgehend von den beschriebenen Eigenschaften des Skalarprodukts lässt sich ein Vektor wie folgt orthogonal auf einen Vektor projizieren. Den projizierten Vektor bezeichnen wir mit . Die Vektoren und sind orthogonal zueinander, sodass gilt
Daraus ergibt sich

Orthogonale Projektion eines Punktes auf eine Ebene
Ebene gegeben durch Punkt und Normalenvektor , Punkt soll auf die Ebene projiziert werden
- Projektion des Vektors auf den Normalenvektor berechnen
- Projektion von auf die Ebene ist minus die zuvor berechnete Projektion
Abstandsmessung Punkt-Ebene
Wir betrachten einen Punkt in einer Ebene . Es bezeichne die Normale der Ebene. Die Ebene ist folglich mit gegeben durch die Menge:
also
Der Abstand eines Punktes zur Ebene ist demnach gegeben durch

Kreuzprodukt
Das Kreuzprodukt ist definiert als:

Anwendungen
- Berechnung von Oberflächennormalen für planare Polygone
- Berechnung des Flächeninhalts von Parallelogrammen
- Berechnung des Flächeninhalts von Dreiecken (halbes Parallelogram)
Affiner Raum
Punkte werden durch Vektoren beschrieben
- Assoziierter Vektorraum
- Elemente:
- Positionen, keine Richtungen
- Abstand von und :
- Affine Basis:
- Ursprung und Basis des Vektorraums
- Ortsvektor eines Punktes :
- Affine Kombination zweier Punkte:
Klassifizierung von Abbildungen:
- Isometrische Abbildung
- Invariante: Abstände
- Reflexionen, starre Körper (Rotation und Translation)
- Ähnlichkeitsabbildung
- Invariante: Winkel
- Uniforme Skalierung, Drehstreckung
- Affine Abbildung (kontinuierlich, bijektiv, invertierbar)
- nutzt meist Homogene Koordinaten
- Invariante: parallele Geraden
- Nicht-uniforme Skalierung, Scherung
- Kollineare Abbildung
- Invariante: Geraden
- Perspektive
- Nicht-lineare Abbildung
- Biegung, Verzerrung, etc.
Lineare Abbildungen
Eine Abbildung zwischen zwei Vektorräumen des gleichen Körpers heißt linear (genauer K-linear), falls für beliebige Elemente und gilt:
Lineare Abbildungen von nach lassen sich durch -Matrizen darstellen, die jeweils das Bild eines Basis-Vektoren beinhalten (lineare Abbildungen sind über diese Bilder eindeutig definiert)
Homogene Koordinaten
- Translationen (Verschiebungen) sind keine linearen Abbildungen auf dem
- Homogene Koordinaten nutzen -Matrizen, um alle Basistransformationen als lineare Abbildungen darzustellen
Anmerkungen: Punkte mit liegen im Unendlichen. Der Punkt ist nicht definiert. Allerdings kann genutzt werden, um Richtungen anstelle von Positionen anzugeben
3D-Basistransformationen

Translation
- Verschiebung von Objekten im Raum entlang eines Verschiebungsvektors (repräsentiert durch die Parameter)
Eigenschaften:
- Verkettung / Vertauschung:
- Inverse:
Rotation
- Rotation um die Achsen und
- Bewahrt Längen und Winkel (rigide)
- Im rechtshändigen Koordinatensystem (RH-KS) gilt für -Rotationen:
- wir schauen bei Rotationen von einer positiven Achse zum Ursprung
- Rotation um -Achse: wird nach gedreht
- Rotation um -Achse: wird nach gedreht
- Rotation um -Achse: wird nach gedreht
Eigenschaften:
- Verkettung / Vertauschung (achsengleich):
- Inverse:
- Rotation um verschiedene Achsen nicht kommutativ
Skalierung
- Vergrößerung und Verkleinerung von Objekten
- bewahrt nicht die Länge und nur bei uniformer Skalierung () die Winkel
Eigenschaften:
- Verkettung / Vertauschung:
- Inverse:
Spiegelung
- Spiegelung an der -, - oder -Ebene
- linkshändiges Koordinatensystem rechtshändiges Koordinatensystem
- bewahrt Längen und Winkel, aber nicht die Polygonorientierung
- Verwendung: Invertierung der Polygonorientierung
Auch als Skalierung darstellbar
Scherung
- Allgemeine Scherungstransformation:
- 1. Index: Koordinate, die geändert wird
- 2. Index: Koordinate, die dies kontrolliert
Beispiel:

Komposition
- erfolgt durch Multiplikation der Transformationsmatrizen:
- Interpretation: Anwendung von rechts nach links
Begriffe
Orthogonale Matrix: Eine Matrix heißt orthogonal, falls gilt also .
- Jede Rotationsmatrix ist orthogonal
Orthonormalbasis (ONB): Eine Orthonormalbasis eines Vektorraums ist eine Basis, deren Vektoren alle die Länge 1 haben (normiert sind) und paarweise orthogonal sind, unterschiedliche Basisvektoren haben also das Skalarprodukt 0
- Für beliebige und orthogonale Matrix gilt , das heißt orthogonale Transformationen erhalten Längen und Winkel (Rigid-Body-Transformation)
- Eine orthogonale Matrix bildet eine ONB auf eine weitere ONB ab
- Eine Matrix, welche eine ONB auf eine weitere ONB abbildet, ist orthogonal
Transformation gerichteter Liniensegemente
- Gegeben Liniensegmente und . Transformiere sie in die -Ebene, wobei auf der -Achse liegen soll
- Die Transformation soll Längen und Winkelverhältnisse nicht ändern

Weg 1 - Transformationsfolge
- Transliere in den Ursprung
- Rotiere um die -Achse, so dass in der -Ebene liegt
- Rotiere um die -Achse, so dass in der -Achse liegt
- Rotiere um die -Achse, so dass in der -Ebene liegt
Weg 2 - Nutzung der Eigenschaften orthogonaler Matrizen
Wir suchen eine orthogonale Matrix , sodass die Liniensegmente wie gewünscht überführt, wobei die Translation von in den Ursprung beschreibt
- Suche ONB , die den Liniensegmenten entspricht, und - eingesetzt als Zeilenvektor in - die Rotation von auf ONB beschreibt
Der Vektor soll auf abgebildet werden. Da auf der -Achse liegen soll, wählen wir für :
Unter Verwendung des Kreuzprodukts definieren wir weiter


Transformation als Koordinatensystemänderung
Alternative Sichtweise auf Transformationen: nicht Punkte werden überführt, sondern lediglich Änderung des Koordinatensystems
- einzelne Objekte einer Szene erhalten ihr eigenes, lokales Koordinatensystem
- die lokalen Koordinatensysteme der Objekte müssen in ein gemeinsames Koordinatensystem, das Weltkoordinatensystem, überführt werden
- bezeichnet den Wechsel von in das
- bezeichnet die Darstellung des Punkte im
- Invertierung:
- Transition:

Koordinatensysteme für 3D-Transformationen:
- Rechtshändiges: -Achse schaut zum Betrachter
- Linkshändiges: -Achse schaut vom Betrachter weg
- WebGL / OpenGL schreiben die Verwendung nicht vor, aber:
- Konvention in Mathematik, Physik, 3D-Modellierung und view/eye-Koordinaten ist rechtshändig
- clip space Koordinatensystem und normalized device coordinates sind linkshändig

Eulersche Winkel
Erlauben die Spezifikation einer Orientierung, d.h. einer Winkellage, eines Objekts im Raum
- Eigentliche Eulerwinkel: und
- Drehung kann in drei Drehungen um die jeweiligen Achsen aufgeteilt
- Roll- (roll), Nick- (pitch) und Gierwinkel (yaw)
Smooth step function
Eigenschaften:
- Gibt Familie an Polynomen mit solchen Eigenschaften (auch für höhere Ableitungen)
Quaternion
Jedes Quaternion bildet ein Quadrupel mit vier reellwertigen Koeffizienten
- Verallgemeinerung der komplexen Zahlen (Quadrupel mit drei imaginären Komponenten)
- Realteil:
- Imaginärteil:
Mathematischer Hintergrund: imaginäre Zahlen mit und
Operationen auf Quaternionen
- Addition: (assozitiv und kommutativ):
- Multiplikation mit Skalarwert:
- Subtraktion von Quaterionen:
- Multiplikation (assoziativ, aber nicht kommutativ):
- Konjugierte eines Quaternions:
- Norm (Betrag) eines Quaternions:
- Inverse zu einem Quaternion:
- Identitätsquaternion:
Einheitsquaternionen
Quaternionen mit einem Betrag von heißen Einheitsquaternionen
- Sie sind abgeschlossen bezüglich der Addition und der Subtraktion
- Können jede 3D-Rotation repräsentieren
Sei ein Einheitsquaternion, so kann dies dargestellt werden als
Außerdem gilt
Rotationen
Sei ein Punkte (bzw. Vektor), der in Quaternionendarstellung gegeben ist, und sei mit Vektor der Länge
- dann repräsentiert das Quaternionenprodukt die Rotation von um die Achse mit einem Rotationswinkel von
- die Verkettung von Rotationen ist definiert als mit einer Einheitsquaterionen , die die verkette Rotation darstellt
Interpolation von Rotationen
Um zwischen zwei Rotationen und zu interpolieren, die als Einheitsquaternionen gegeben sind, wird zwischen deren Quaternionendarstellung interpoliert: