Helwig Hauser Teil 1: Modellierung
Teil 1: Modellierung
Objekte und ihre Beschreibung
Helwig Hauser Teil 1: Modellierung
EinleitungComputergraphik: 3D sehr wichtig photo-realistic rendering Computer-Animation, Modellierung Visualisierung, Virtual Reality
Ansatz: per rendering wird eine 3D-Szene
dargestelltFrage: Beschreibung der Szene?
Helwig Hauser Teil 1: Modellierung
3D Szene – Inhalt
Virtuelle Welt: Objekte als Abbild wirklicher Objekte:
Architektur, Objekte des tägl. Lebens, … Oberflächen: eben, uneben, fraktal Volumensobjekte: innere Struktur real-3D objects: Fraktale wie Wolken, …
Aber wie beschreiben?
Helwig Hauser Teil 1: Modellierung
3D Szene – BeschreibungModellierung: Virtuelle 3D Welt – soll dargestellt werden Szene-Beschreibung (Graph-Form) Teile:
Objekte – 0D, 1D, 2D, 3DObjekt-AttributeTransformationenBeleuchtungKamera
Helwig Hauser Teil 1: Modellierung
In der Szene: ObjekteEinfache Objekte Primitiva: Punkt (0D), Liniensegment (1D),
Bézier-Kurve (1D), Dreieck (2D), Patch (2D), Voxel (3D), …
Komplexe Objekte: z.B.: Sammel-Objekte: Poly-Linie (1D),
Mesh (2D), Volumsdatensatz (3D), … Transformierte Objekte: sweeps, … Kombinierte Objekte: CSG, …
Helwig Hauser Teil 1: Modellierung
Objekte – ÜberblickBasis: Punkte, Liniensegmente, etc.Diskrete Approximation: meshesErweiterung: terrains, fraktale GebirgeModellierung durch sweepsModellierung durch soft objectsModellierung: Partikelsysteme
Helwig Hauser Teil 1: Modellierung
Basis: Punkte im 3DStart im 3D: Punkt: Darstellung: vektoriell x = (x1, x2, x3)T
Unterschied Punkt Vektor Vektor = translationsinvariant Vektor = (End-)Punkt q – (Start-)Punkt
p= q – p = (q1 – p1, q2 – p2, q3 –
p3)T
= v = (v1, v2, v3)T
Liniensegment: durch p und qoder p und v gegeben
Helwig Hauser Teil 1: Modellierung
WH (CGR3): MeshesBasis: Dreieck, Viereck Infos: Eckpunkte, Normale(n), Nachbarn
Sehr oft in Verwendung: Meshes: Liste von Dreiecken bzw. -strips BRep (WH): Punkte Kanten Flächen Winged-Edge DS (WH): Kante++
Aspekte: Speicherplatz, Berechnungen
Helwig Hauser Teil 1: Modellierung
Datenstruktur: -strip13 Punkte:11 Dreiecke
p13
p12
p11
p10
p9
p8
p7
p6
p5
p4
p2p3
p1
Helwig Hauser Teil 1: Modellierung
Quadrilateral Mesh5*4 Punkte:12 Vierecke!
p11 p12 p13 p14 p15p21 p22 p23 p24 p25p31 p32 p33 p34 p35
p41 p42 p43 p44 p45
Helwig Hauser Teil 1: Modellierung
BRep: BeispielMesh: Dreieck S1
Viereck S2
6 Kanten: 1 gemeinsam
5 Eckpunkte 2 gemeinsam
Helwig Hauser Teil 1: Modellierung
Objekte – ÜberblickBasis: Punkte, Liniensegmente, etc.Diskrete Approximation: meshesErweiterung: terrains, fraktale GebirgeModellierung durch sweepsModellierung durch soft objectsModellierung: Partikelsysteme
Helwig Hauser Teil 1: Modellierung
TerrainsDefinition: Basis-Gitter (2D),
pro Gitter-Punkt: 1 Höhenwert
Mögliche Erweiterung: Farbinformationen Texturen
Helwig Hauser Teil 1: Modellierung
VRML-Beispiel: terrain (1)
geometry ElevationGrid { xDimension 5 zDimension 5 xSpacing 2 zSpacing 2 height [ 2, 2, 3, 2, 2,
1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 3, 2, 2, 2, 2, 3, 2, 2 ]
}
Helwig Hauser Teil 1: Modellierung
VRML-Beispiel: terrain (2)5*5 Terrain
Helwig Hauser Teil 1: Modellierung
Fraktale Gebirge (1)1D-Beispiel: Koch-Kurve Initiator: Startpolygon Generator: Ersetzungsregel
Fraktales Gebirge: Generator + Zufallszahlen Initiator: 1 Dreieck oder 2 Generator:
jede Kante i. d. Mitte teilen,Mittelpunkt per Zufallszahl verschieben
Helwig Hauser Teil 1: Modellierung
Fraktales Gebirge (2)Pro Schritt: 1 Dreieck
4 Dreiecke
Stopp wenn: Unterteilung fein
genug
Helwig Hauser Teil 1: Modellierung
Beispiel: Fraktales Gebirge
Helwig Hauser Teil 1: Modellierung
Objekte – ÜberblickBasis: Punkte, Liniensegmente, etc.Diskrete Approximation: meshesErweiterung: terrains, fraktale GebirgeModellierung durch sweepsModellierung durch soft objectsModellierung: Partikelsysteme
Helwig Hauser Teil 1: Modellierung
SweepsIdee: 2D Kontur + Transformation
Formen: translational sweep rotational sweep conical sweep spherical sweep general cylinder
Helwig Hauser Teil 1: Modellierung
Translational SweepDefinition: 2D-Kontur + Translation entlang Pfad
Helwig Hauser Teil 1: Modellierung
Rotational SweepDefinition: 2D-Kontur + Rotation um Achse
Helwig Hauser Teil 1: Modellierung
Conical SweepDefinition: 2D-Kontur + Verjüngung zu Punkt hin
Helwig Hauser Teil 1: Modellierung
Spherical SweepDefinition: Kugel (o.Ä.) + sweep entlang Pfad
Helwig Hauser Teil 1: Modellierung
General CylinderDefinition: 2 2D-Konturen + Verbindung dazwischen
Helwig Hauser Teil 1: Modellierung
Sweeps – RepräsenationIdee = nur Modellierung —Analytische Form: abhängig von Defintion (evtl. nicht-trivial) abhängig von notwendigen Operationen
Approximation: Mesh = tesselation = Zerteilung in kleine
Flächenteile Approximation durch
Helwig Hauser Teil 1: Modellierung
Objekte – ÜberblickBasis: Punkte, Liniensegmente, etc.Diskrete Approximation: meshesErweiterung: terrains, fraktale GebirgeModellierung durch sweepsModellierung durch soft objectsModellierung: Partikelsysteme
Helwig Hauser Teil 1: Modellierung
Soft Objects (1)Definition: Schlüsselpunkte,
Einflußfunktion sowie Iso-Wert Iso-Fläche
Schlüsselpunkt
Soft Object
Einflußradius
Helwig Hauser Teil 1: Modellierung
Soft Objects (2)
Einfluß-Funktion fällt mit Entfernung rIso-Wert magic definiert Objekt
4.28.14.0
1
132
2
2
4
4
6
6
2
2
3
3
cbaR
rc
R
rb
R
rarC
oderR
r
R
rrC
r
C(r)
R
magic
Helwig Hauser Teil 1: Modellierung
Beispiel: Soft Objects
Repräsentation? Analytisch? Dreiecke?
Helwig Hauser Teil 1: Modellierung
Objekte – ÜberblickBasis: Punkte, Liniensegmente, etc.Diskrete Approximation: meshesErweiterung: terrains, fraktale GebirgeModellierung durch sweepsModellierung durch soft objectsModellierung: Partikelsysteme
Helwig Hauser Teil 1: Modellierung
Partikelsysteme (1)Definition: Meist große Menge von Punkten charakteristisches Aussehen pro Partikel Verhalten von Partikel
Anwendungen: Feuer, Rauch, etc. Partikel-sweeps: natürliche Objekte
Helwig Hauser Teil 1: Modellierung
Partikelsysteme (2)Pro Partikel: Eigenschaften:
Geometrische Repräsentation (einfach!)Farbe, Transparenz
Bewegung:Richtung, GeschwindigkeitLebensdauer
Global: Anwendung von Zufallszahlen
Helwig Hauser Teil 1: Modellierung
Partikelsysteme: AblaufPseudo-Code: Wenn Lebensdauer abgelaufen: löschen, Sonst Partikeldaten auf neuen Stand. Evtl. neue Partikel erzeugen Alle aktuellen Partikel darstellen
Auch hierarchisch möglich: Wald-System Baum-System Blätter
Helwig Hauser Teil 1: Modellierung
Beispiel: Partikelsysteme
Helwig Hauser Teil 1: Modellierung
WH (CGR3): CSGPer boolschen Operationen: Primitiva komplexe Objekte: logisches UND2: Durchschnitt logisches ODER2: Vereinigung MINUS2: „Wegschneiden“
A-B AB AB