3D Visualisierung Flashcards
3D Raum
Messwerte werden im 3D 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öherdimensional sein (z.B Vektor)
Gewinnung von 3D-Daten
Terrain
an beliebigen Postionen (x, y) eines Terrains wird die Höhe z gemessen)
——> 3D Position
Oberflächeninformationen werden mithilfe von Satellitenbildern gewonnen
——> Skalarer Wert
Gewinnung von 3D-Daten
Laser Scanning
Ein Laserstrahl wird auf die Oberfläche projiziert
Traingulation
- Die Distanz zwischen Laser und Kamera ist bekannt
- Der Winkel des Lasers ist bekannt
- Der Winkel, in dem der Laserpunkt gesehen wird, wird gemessen
Gewinnung von 3D Daten
Möglichkeiten
Terrain
Laser Scanning
Range Images (Tiefeninformationen)
Medizinische Bilddaten
Wetter
Klimaforschung
Triangulation von Punktwolken
Die Punkte im Bild verbinden sich mit Dreiecken
Bevorzugte Triangulationen
Dreiecksform und Winkel
Ideal: gleichseitig; alle Winkel sind 60°, Knotengrad 6
Vorteile:
Aussehen
Numerische Stabilität
Post-processing (Unterteilung)
Voronoi Diagramm
Eine solche enthält alle Punkte, die näher an si als zu allen anderen Orten liegen
Kanten einer Voronoi-Zelle Punkte mit zwei nächsten Punkten
Knoten einer Voronoi-Zelle Punkte mit drei oder mehr nächsten Punkten
3D Volumen
reguläres 3D Raster
Voxel
Volumenelemente im 3D Raster
sind adjazent zu einem Referenzvoxel
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 an
2D: Marching Squares
Marching Squares ist ein Algorithmus zur Berechnung von Isolinien auf 2D Daten
Marching Cubes
3D Version der Marching Squares
Berechnung von Isoflächen auf 3D Daten.
Große Polygonmodelle
Marching Cubes gibt viele Millionen Dreiecke aus
Hoher Berechnungsaufwand für das grafische Subsystem
Verbessern der Rendering Performance von Marching Cubes
Meshreduktion beim 3D Modell in der CPU
Culling von Geometrie bei der Geometrieverarbeitung in der GPU
Culling von Geometrie
unsichtbare Polygone werden aus der Rendering-Pipeline entfernt
Backface Culling
View-Frustum-Culling
Occlusion-Culling
Backface Culling
zum Betrachter gerichtete Rückseiten werden nicht gezeichnet
View-Frustum-Culling
Polygone, die sich ganz oder teilweise außerdem des View-Frustums 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
Transparenz muss hier unbedingt beachtet werden
Meshreduktion
die Gesamtzahl an zu rendernden Polygonen wird verringert
die Akzeptanz der Vereinfachung ist abhängig vom Szenario
Die Distanz eines Vertex zur Ebene wird
durch die benachbarten Vertizes geformt.
Ziel: Mesh Glättung
Gute Visualisierung bereitstellen
- Artefakte reduzieren
- Löcher entfernen
Herausforderung: Mesh Glättung
Volumen erhalten
- quantitative Informationen können benötigt werden
Ergebnis: Mesh Glättung
Viele Details gehen verloren, da die Dreiecke nur noch oberflächlich verbinden
indirekte vs. direkte Volumenvisualisierung
indirekt:
- Generierung einer Zwischendarstellung des Volumens
- die Komplexität hängt von der Anzahl an Polygonen ab
direkt:
- Visualisierung ohne Generierung einer Metadarstellung
- Die 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 betrachtet 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
Volume Rendering Pipeline
- Abtastung (sampling)
- Klassifizierung und Beleuchtung
- Komposition
Volume Rendering Pipeline
- Abtastung
Ansammlung von Voxelwerten an bestimmten Orten
Entlang des Sichtstrahls werden in bestimmten Abständen Werte aus der Voxelmenge
ermittelt
Volume Rendering Pipeline
- Abtastung - Interpolation
erhalten eines Wertes für eine Position zwischen Voxeln
Interpolationsmodelle:
- Nearest Neighbor
- Trilnear
- B-Spline
Volume Rendering Pipeline
- Klassifizierung und Beleuchtung
Für jeden Wert wird eine Farbe und eine Transparenz berechnet und diese evtl. durch
Shading/Beleuchtung verändert
Volume Rendering Pipeline
- Komposition
Die Farb- und Transparenzwerte der Samples entlang des Sichtstrahls werden zu einem
fertigen Farbwert des Pixels zusammengefügt
Back to front Komposition
An der Abtastposition am Ende des Volumens
mit dem Zusammensetzen beginnen
In Richtung des Sichtpunktes gehen und dabei
Anteile berechnen
Anteil an der Abtastposition k:
- Vorige Anteile nach Transparenz tk an der
Abtastposition gewichten
- Farbe Ck an der aktuellen Abtastung
Front-to-Back Komposition
An der Abtastposition am Anfang des Volumens mit
dem Zusammensetzen beginnen
In Richtung des Endes gehen und dabei Anteile
berechnen
Anteil an Abtastposition k:
- Akkumulierte Farbe lk
+ Farbe Ck gewichtet nach der akkumulierten Transparenz tk
Marching Squares - Typische Anwendungen
Visualisierung von Isobaren auf Wetterkarten
Niveaulinien in Höhenfeldern
Höhenlinien auf Topographischen Karten