Geometric Modeling - Cheatsheet
Lineare Algebra und ihre Anwendung in der Modellierung
Definition:
Verwendung von linearen mathematischen Strukturen zur Lösung geometrischer Probleme.
Details:
- Grundlagen: Vektorräume, Matrizen, Lineare Abbildungen
- Transformationen: Translation, Rotation, Skalierung
- Bilddarstellung: Homogene Koordinaten
- Szenen: Modell-, Welt- und Ansichtskoordinaten
- Lineare Gleichungssysteme: Lösen mittels Matrizen
- Eigenwerte und Eigenvektoren: Analyse linearer Transformationen
- Anwendungen: Computergrafik, Animation, Bildverarbeitung
Transformationen und Matrizenoperationen
Definition:
Details:
- Transformationen: Anwendung von geometrischen Operationen (z.B. Translation, Rotation, Skalierung) auf Punkte/Objekte.
- Translation: Verschiebung eines Punktes/Objekts im Raum, dargestellt durch Addition eines Verschiebungsvektors \( \mathbf{d} \).
- Rotation: Drehung um einen Punkt oder eine Achse, beschrieben durch Rotationmatrizen. Beispiel: 2D-Rotation um den Ursprung: \[ R(\theta) = \begin{pmatrix} \cos \theta & -\sin \theta \ \sin \theta & \cos \theta \end{pmatrix} \]
- Skalierung: Vergrößerung/Verkleinerung eines Punktes/Objekts mittels Skalierungsmatrizen. Beispiel: uniform in 2D: \[ S(s) = \begin{pmatrix} s & 0 \ 0 & s \end{pmatrix} \]
- Homogene Koordinaten verwenden für affine Transformationen: Darstellung durch 4x4-Matrizen.
- Matrixmultiplikation: Kombination von Transformationen durch aufeinanderfolgende Anwendung von Matrizen.
- Inverse Matrizen: Rückgängigmachen einer Transformation. Beispiel: für Translation \( T(- \mathbf{d}) \), für Rotation \( R(-\theta) \), für Skalierung \( S(\frac{1}{s}) \).
- Jacobian: verwendet zur Analyse der Veränderung unter Transformation.
Spline-Kurven und -Flächen
Definition:
Spline-Kurven und -Flächen werden im Geometric Modeling verwendet, um glatte und flexible Formen zu erstellen.
Details:
- Basisfunktion: B-Splines
- Parameterdarstellung: \mathbf{C}(u) = \sum_{i=0}^{n} N_{i,k}(u) \mathbf{P}_i
- Kontrollpunkte: \mathbf{P}_i
- Knotenvektor: definiert die Parameterbereiche
- Glättung: hohe Kontinuität C^k
- NURBS (Non-Uniform Rational B-Splines) : Erweiterung für gleichmäßige Skalierung
- Anwendungen: CAD, Animation, Grafik
NURBS (Non-Uniform Rational B-Splines)
Definition:
NURBS (Nicht-uniforme rationale B-Splines) sind mathematische Darstellungen, die zum Erstellen und Darstellen von Kurven und Flächen in der Computergrafik verwendet werden.
Details:
- NURBS-Kurve: \[ C(u) = \sum_{i=0}^{n} \frac{N_{i,p}(u)w_i P_i}{\sum_{i=0}^{n} N_{i,p}(u)w_i} \]
- NURBS-Fläche: \[ S(u,v) = \sum_{i=0}^{n} \sum_{j=0}^{m} \frac{N_{i,p}(u) M_{j,q}(v) w_{i,j} P_{i,j}}{\sum_{i=0}^{n} \sum_{j=0}^{m} N_{i,p}(u) M_{j,q}(v) w_{i,j}} \]
- \( N_{i,p}(u) \): B-Spline-Basisfunktionen
- \( w_i \): Gewichte
- \( P_i \): Kontrollpunkte
- Erlaubt präzise Kontrolle über Form und Glattheit von Kurven/Flächen
- Nicht-uniform: Knotenvektor muss nicht gleichmäßig verteilt sein
- Rational: Verwendung von Gewichten erlaubt konische Abschnitte (z.B. Kreise)
Polygonale Netze und Tesselation
Definition:
Repräsentation von 3D-Objekten durch Polygone, häufig Dreiecke. Tesselation: Aufteilung von Flächen in kleinere, nicht überlappende Polygone.
Details:
- Polygonale Netze bestehen aus Scheitelpunkten (Vertices), Kanten (Edges) und Flächen (Faces).
- Verwendung für 3D-Modellierung, Computeranimation und Rendering.
- Tesselation sorgt für Detailtreue durch Unterteilung in kleinere Polygone.
- Dreiecksvermeschung bevorzugt wegen mathematischer Einfachheit und Stabilität.
- Tesselation-Berechnung durch Shader/Algorithmen: GPU-beschleunigt.
- Mathematische Definition: \(V = (v_1, v_2, ... , v_n)\), \(E = ((v_i, v_j), ...)\), \(F = (f_1, f_2, ..., f_m)\)
2D- und 3D-Modellierungstechniken
Definition:
Erstellung von geometrischen Objekten in zwei oder drei Dimensionen durch mathematische und algorithmische Methoden.
Details:
- 2D-Modellierung: Verwendung von Vektorgrafiken, Rastergrafiken, Kurven (z.B. Bézier-Kurven), Polygonen und Transformationen (Translation, Rotation, Skalierung).
- 3D-Modellierung: Verwendung von Polygonnetzen, Volumenmodellen, Spline-Modellen, NURBS (Non-Uniform Rational B-Splines) und Modellierungstechniken wie (CSG) Constructive Solid Geometry und Sweep.
- Transformationen in 2D und 3D durch Matrizen (Affine Transformationen).
- Rendering-Techniken wie Raytracing und Rasterisierung zur Visualisierung der Modelle.
- Animation durch Keyframe- und Skelett-Animationstechniken.
- Speicherung in Formaten wie STL, OBJ für 3D oder SVG, PNG für 2D.
Raytracing und Rasterisierung
Definition:
Raytracing generiert Bilder durch Verfolgen der Lichtstrahlen, Rasterisierung konvertiert Szenen in Pixel.
Details:
- Raytracing: verfolgt Lichtstrahlen von Auge zur Lichtquelle, berechnet reale Reflexionen, Brechungen, Schatten
- Formel für Ray: \(\mathbf{d} = \mathbf{o} + t \mathbf{u}\)
- Hoch realistisch, aber rechenintensiv
- Rasterisierung: wandelt 3D-Objekte in 2D-Pixel um, benutzt Vertex und Fragment Shader
- Schnellere Berechnungszeit, weniger realistische Effekte
- Bresenham Algorithmus für Linienrasterisierung
- Wird oft in Spielen verwendet
Global Illumination
Definition:
Globale Beleuchtung betrachtet direkte und indirekte Lichtstrahlen für realistische Szenendarstellung.
Details:
- Berücksichtigt Lichtreflexionen zwischen Oberflächen.
- Simuliert weiche Schatten, Farbübertragungen und diffuse Reflexionen.
- Ray Tracing und Radiosity häufige Methoden.
- Rendering Equation: \[ L_o(x, \theta_o, \theta_i) = L_e(x, \theta_o) + \textstyle \int_{H} f_r(x, \theta_o, \theta_i) L_i(x, \theta_i) (\theta_i \bullet n) d\theta_i \]