3D Flashcards
3D Daten
- Messwerte werden im dreidimensionalen Raum verteilt
- Jeder Wert hat drei Koordinaten (x,y,z)
- Werte können gleichmäßig oder ungleichmäßig verteilt werden
- Ein Messwert kann skalar oder höhendimensional sein
Gewinnung von 3D Daten: Terrain
- An beliebigen Positionen (x,y) eines Terrains wird die Höhe z gemessen
-> 3D Position - Oberflächeninformationen werden mithilfe von Satellitenbildern gewinnen
-> Skalarer Wert
Gewinnung von 3D Daten: Laser Scanning
- Ein Laserstrahl wird auf die Oberfläche projiziert
- Triangulation
-> Distanz zwischen Laser und Kamera ist bekannt
-> Winkel des Lasers ist bekannt
-> Winkel, in dem der Laserpunkt gesehen wird, wird gemessen - Distanz von diesem Punkt kann abgeleitet werden
- Unstrukturierte Punktwolke
Gewinnung von 3D Daten: Range Images
- Range Image: Tiefeninformationen
- Pixelinformationen als 3D Punkt
Gewinnung von 3D Daten: Medizinische Bilddaten
- Bildgebende Geräte um physikalische Eigenschaften zu messen
- Man erhält einen Stapel von parallelen, manchmal Gleichheit voneinander entfernten Scheiben
Gewinnung von 3D Daten: Wetter
- Wetterparameter werden für bestimmte Regionen auf verschiedene Höhen gemessen und simuliert
-> Temperatur, Barometerstand, Niederschlag, Windrichtung - Skalier oder vektorielle Daten
Triangulation von Punktwolken
- Unstrukturierte Punktemenge auf der Oberfläche S (Punktwolke)
- Für “einfache” Oberflächen (ohne Falten) gilt:
-> Punkte können auf eine Ebene projiziert und in 2D trianguliert werden - Das 2D-Dreiecksnetz wird dann entsprechend den Werten von z1 deformiert
Bevorzugte Triangulationen
- Dreiecksform und -winkel
-> Ideal: Gleichseitig, Knotengrad 6 - Vorteile: Aussehen, numerische Stabilität, Post-Processing (Unterteilung)
Voronoi Diagramm
Für jeden (projizierten) Punkt s kann eine Voronoi Zelle definiert werden
-> Enthält alle Punkte, die näher an s als zu anderen Punkten liegen
-> Kanten einer Voronoi Zelle: Punkte mit zwei nächsten Punkten
-> Knoten einer Voronoi Zelle: Punkte mit drei oder mehr nächsten Punkten
Delaunay Triangulation
- Man betrachtet den dualen Graph eines Voronoi Diagramms
-> Zentren von benachbarten Polygonen werden mit Linien verbunden, die zur jeweils gemeinsamen Kante orthogonal sind - Dreiecksnetz ist eine Delaunay Triangulation, wenn alle Umkreise von allen Dreiecken im Netz leer sind
Indirekte Volumenvisualisierung
- Eine Menge von Volumendaten enthält viele Informationen
-> eingeschränkte Geschwindigkeit beim Rendering
-> Verdeckung von hinteren Elementen durch weiter vorne befindliche - Man zeigt nicht das gesamte Volumen, sondern nur eine Teilmenge davon
2D: Marching Squares
- Bildzellen seien durch ihre vier umgebenden Pixel definiert
- Pixel werden betrachtet oder gleich des Isowertes sind (d.h. innerhalb oder auf der Begrenzung liegen)
- 16 mögliche Kombinationen
3D: Marching Cubes
- Eine Volumenzelle ist durch ihre acht umgebenden Voxel definiert
- 256 mögliche Kombinationen
Verbessern der Rendering Performance
- Meshreduktion beim 3D Modell
- Culling von Geometrie bei Geometrieverarbeitung
Culling von Geometrie
- Unsichtbare Polygone werden aus der Rendering Pipeline entfernt
-> Backface Culling: Zum Betrachter gerichtete Rückseiten werden nicht gezeichnet
-> View-Frustum-Culling: Polygone, die sich ganz oder teilweise außer dem des View-Frustrums befinden, werden nicht oder nur teilweise gezeichnet
-> Occlusion-Culling: Polygone werden nach Tiefe sortiert und nur gerendert, wenn sie nicht vollständig durch andere verdeckt werden
Meshreduktion
- Die Gesamtzahl an zu rendernden Polygonen wird verringert
- Die Akzeptanz der Vereinfachung ist abhängig vom Szenario
- Ausgleich zwischen Genauigkeit und Zeitbegrenzung
Mesh Glättung
- Ziel: Gute Visualisierungen bereitstellen
-> Artefakte reduzieren, Löcher entfernen - Herausforderung: Volumen erhalten
Unterschied direkte und indirekte Volumenvisualisierung
- indirekt: Generierung einer Zwischendarstellung des Volumens
-> Komplexität hängt von der Anzahl an Polygonen ab - direkt: Visualisierung ohne Generierung einer Metadarstellung
-> Komplexität hängt von der Anzahl der Voxel und der Auflösung der Anzeigefläche ab
Modell für Volumenrendering: Density Emitter Model
- Man betrachte nur Emission und Absorption
- Jeder Voxel in der Datenmenge ist eine kleine Lichtquelle
- Das Licht wird schwächer während es durch die Volumendatenmenge wandert
- Das Medium ist eine homogene Dichtewolke
Volumen Rendering Pipeline Basisoperationen (Raycasting)
- Abtastung
-> Entlang des Sichtstrahls werden in bestimmten Abständen Werte aus der Voxelmenge ermittelt - Klassifizierung & Beleuchtung
-> Für jeden Wert wird eine Farbe und eine Transparenz berechnet und diese evtl. durch Shading/Beleuchtung verändert - Komposition
-> Die Farb- und Transparenzwerte der Samples entlang des Sichtstrahls werden zu einem fertigen Farbwert des Pixels zusammengefügt
Voronoi Diagramme Edge Flipping
- Muss durchgeführt werden, wenn sich im Umkreis des aus der Delaunay Triangulation resultierenden Dreiecks ein weiterer Punkt befindet
- Punkt wird mit dem Dreieck verbunden und eine Kante des Dreiecks so getauscht, dass sich in den beiden Umkreisen der neu entstehenden Dreiecke keine weiteren Punkte mehr befinden
- Sehr spitze Winkel und sehr lange oder dünne Dreiecke werden vermieden
Voronoi zu Delaunay
Verbindung der Mittelpunkte benachbarter Zellen
-> Evtl. Edgeflipping
Delaunay zu Voronoi
- Eckpunkte der Dreiecke bilden Voronoi Punkte
- Mittelsenkrechten der Dreiecke bilden die Voronoi Zellen Grenzen