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

  1. Projektion des Vektors auf den Normalenvektor berechnen
  2. 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:

  1. Isometrische Abbildung
    • Invariante: Abstände
    • Reflexionen, starre Körper (Rotation und Translation)
  2. Ähnlichkeitsabbildung
    • Invariante: Winkel
    • Uniforme Skalierung, Drehstreckung
  3. Affine Abbildung (kontinuierlich, bijektiv, invertierbar)
    • nutzt meist Homogene Koordinaten
    • Invariante: parallele Geraden
    • Nicht-uniforme Skalierung, Scherung
  4. Kollineare Abbildung
    • Invariante: Geraden
    • Perspektive
  5. 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

  1. Transliere in den Ursprung
  2. Rotiere um die -Achse, so dass in der -Ebene liegt
  3. Rotiere um die -Achse, so dass in der -Achse liegt
  4. 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: