3D Vector Field Visualization Flashcards
Wie sehr verändert sich das Vektorfeld an Position X?
Totales differential: Jacobi Matrix
Wie sehr verändert sich das Vektorfeld entlang der Richtung h?
Jacobi Matrix * h
Wie berechnet man die Divergenz in 3D?
Summe der Diagonalelemente der Jacobi Matrix
Wie interpretiert man die Divergenz in 3D?
Betrachtet man das Volumen, das den Punkt umgibt, dann gibt die Divergenz an, wie viel raus und rein fließt
Was kann genutzt werden, um die Jacobi Matrix, die Vorticity und die Divergenz auszudrücken?
Der Nabla Operator enthält alle differential Operators in x-, y- und z-Richtung
Wie funktioniert das Finden und Klassifizieren von critical points in 3D?
Finden und Klassifizieren von critical points funktioniert analog zu 2D: man verwendet die Eigenvalues und Eigenvektoren der Jacobi Matrix
Wie lautet das Hauptprinzip vom Finden und Klassifizieren von critical points?
- Man betrachtet die orthogonalen Ebenen, die von den Eigenvektoren aufgespannt werden
- Projizieren der (flow) Vektoren auf diese Ebene
- Klassifizierung wie in 2D
Welche direkten Visualisierungsmethoden gibt es in 3D?
- Color Coding
- Isoplanes
- Arrow plot
- Glyphs/ Icons
Welche indirekten Visualisierungsmethoden gibt es in 3D?
- Beleuchtete Particle Paths
- Stream balls
- Stream ribbons
- Stream tubes
Warum ist die Darstellung von Arrow Plots in 3D schwierig?
- Darstellungen von Linien und Pfeilen schwierig aufgrund der Perspektive
- Daher bessere Darstellung als richtige dreidimensionale Pfeile
Welche Eigenschaften kann man mit Glyphs/ Icons in 3D darstellen?
- Velocity
- Curvature
- Rotation
- Shear
- Convergence/ Divergence
- Acceleration
Wie funktionieren Particle Paths in 3D?
Flow field probes: User platziert einen Stab in der Szene, die dann als ein Array von Startpunkten für die Particle Paths dient
Was ist das Problem von Particle Paths in 3D?
Die Tiefenwahrnehmung ist schwierig aufgrund von fehlender Tiefeninformation
Welche Möglichkeiten hat man das Problem der Tiefenwahrnehmung von Particle Paths in 3D zu lösen?
- Eindruck von räumlicher Tiefe kann durch lokale Beleuchtung erreicht werden
- Erstellen einer echten 3D Geometrie: Stream balls, Stream ribbons, Stream tubes
- Beleuchtungsmethoden für Linien: Beleuchtete Particle Paths
Welches Problem hat man bei der Beleuchtung von Particle Paths und wie kann man das lösen?
- Wie kann man eine geeignete Normale für eine Linie finden
- Vorstellung des Particle Paths als eine sehr dünne Röhe: Normalenvektoren eines Punktes sind alle Vektoren, die senkrecht zur Strömungsrichtung stehen
Wie funktionieren Stream balls, wofür werden sie verwendet?
- Erzeugung räumlicher Tiefe, indem Particle Paths als eine Reihe von kleinen Kugeln gerendert werden
- Distanz zwischen einzelnen Kugeln sagt etwas über Velocity aus
- Farbe und Radius der Kugeln weitere scalare Eigenschaften
Wie lautet die Idee von Stream Ribbons in 3D?
Darstellung der lokalen Vorticity des flows mit Hilfe eines Bandes einer gewissen Breite
Welche Methoden gibt es um Stream Ribbons zu berechnen?
- Zwei Particle Paths
- Methode 1 mit Korrelationsschritt
- Direkte Berechnung der curl
Was ist der Vorteil der ersten Methode zur Berechnung von Stream Ribbons?
Einfache Berechnung
Was ist der Nachteil der ersten Methode zur Berechnung von Stream Ribbons?
Schlechte Ergebnisse, wenn Divergence zu groß ist
Wie funktioniert die erste Methode zur Berechnung von Stream Ribbons?
- Wähle zwei seed points, die nah beieinander liegen
- Berechne zwei Particle Paths ausgehend von diesen seed points
- Verbinde diese Particle Paths mit Polygonen (Dreiecken)
Was ist der Vorteil der zweiten Methode zur Berechnung von Stream Ribbons?
Einfache Berechnung
Was ist der Nachteil der zweiten Methode zur Berechnung von Stream Ribbons?
Only one edge is correct
Wie funktioniert die zweite Methode zur Berechnung von Stream Ribbons?
- Wähle zwei seed points mit einer gewissen Distanz d
- Berechne die beiden folgenden Punkte
- Verschiebe einen der Punkte so, dass die Distanz zwischen den beiden Punkten wieder d entspricht
Wie funktioniert die dritte Methode zur Berechnung von Stream Ribbons?
- Berechne einen einzelnen Particle Path und für jeden Punkt:
- Berechne den curl Vektor
- Projiziere den curl Vektor auf die Richtung des flows
- Erzeuge eine Edge, die diesen Punkt als Zentrum hat
- Rotiere diese Edge mit einem Winkel in jedem Zeitschritt
- Rotiere die Edge in der edge-flow Ebene
Wie funktioniert der einfache Ansatz zur Berechnung von Stream Tubes in 3D?
- Rendere den Particle Path als eine Röhe mit festem Radius
- Berechne einen Kreis mit festem Radius senkrecht zur Richtung des flows
- Verbinde die Kreise mit zylindrischen Oberflächen
Was ist der Vorteil des einfachen Ansatzes zur Berechnung von Stream Tubes in 3D?
Tiefenwahrnehmung aufgrund von occlusion (dt. Verdeckung)
Wie lautet ein alternativer Ansatz zur Berechnung von Stream Tubes in 3D?
Rendere einfache quads, die auf den Betrachter ausgerichtet sind und per fragment shading nutzen
Wie lautet ein anspruchsvollerer Ansatz zur Berechnung von Stream Tubes in 3D?
Rendere eine Röhre, die aus mehreren Particle Paths besteht
Wie lautet die Definition eines Stream Surfaces?
Stream Surfaces sind Oberflächen, die aus mehreren Particle Paths bestehen
Wie berechnet man Stream Surfaces?
- Wähle eine Startkurve, z.B. Polyline
- Verschiebe jeden Vertex um einen Zeitschritt
- Trianguliere den Bereich zwischen den Kurven
Wie lautet der einfache Ansatz zur Regular Triangulation?
- Füge die Edges hinzu, die den Particle Paths entsprechen
- Unterteile die resultierenden Rechtecke in Dreiecke auf
Wie lauten die Vorteile des einfachen Ansatzes zur Regular Triangulation?
- Einfach und schnell
- Ergebnis ist ein Dreiecksband, das man effizient rendern kann
Wie lautet der Nachteil des einfachen Ansatzes zur Regular Triangulation?
Aufgrund von Scherung im Vektorfeld (große Beschleunigungen rechtwinkling zur Strömungsrichtung) kann es zu langen, spitzen Dreiecken kommen
Was ist Minimal Triangulation?
Eine Triangulation, die die kombinierte Edge Länge des Streifens minimiert
Welche Vorteile hat Minimal Triangulation?
- Gute Triangulation
- Einfach zu berechnen
Welche zwei Probleme können bei Stream Surfaces auftreten?
- Divergence > 0: Edges werden größer und größer
- Divergence < 0: Edges werden kleiner und kleiner
Welche Arten von Edge collapse gibt es?
- Regular edge
- Edge on the border
- Multiple collapse
Welches Problem tritt bei Stream Surfaces auf?
- Hindernisse im flow
- Stream Surface durchdringt das Objekt aufgrund der Diskretisierung
Was ist eine Möglichkeit das Problem von Hindernissen im flow bei Stream Surfaces zu lösen?
- Ripping der Polylines beim Hinderniss
- Stream Surface zerteilen, wenn die Endpunkte eines Liniensegmentes zu weit voneinander entfernt werden
Wie erfolgt die Berechnung von Stream Surfaces?
- Wähle eine Startkurve (Polygonal lines)
- Verschiebe jeden Vertex in einem Zeitschritt (Ripping, Splitting, Merging)
- Triangulation der Fläche zwischen den Kanten
Was ist Ripping?
Lösche Edges, die zu schnell wachsen
Was ist Splitting?
Zerteile Edges, die zu lang werden
Was ist Merging?
Zusammenführen von Edges, die zu klein werden
Ist jede Kurve geeignet für eine Startkurve?
Nein, die Startlinie sollte orthogonal zur Richtung des flows sein
Wie lautet die Idee von Principal Stream Surfaces?
- Untersuche die Stream Surfaces, die man intuitiv in einfachen Fällen wählen würde
- Beispiel: Flow um einen Zylinder
Wie ist der Ablauf zur Bestimmung von Principal Stream Surfaces?
- Beginnen Sie an einem bestimmten Punkt
- Bestimmen Sie den Frenet frame der flow line durch diesen Punkt
- Mache einen kleinen Schritt entlang der Binormale
- Anfangskurve einer Principal Stream Surface ist eine Integralkurve in die Richtung der Binormale
Warum verwendet man texturierte Stream Surfaces?
- Stream Surfaces zeigen nicht in die Richtung des flows innerhalb des surfaces
- Daher verwendet man Texturen, um die Richtung des flows zu verdeutlichen
Was sind Time Surfaces?
- Time Surfaces sind Flächen mit konstanter Zeit, ähnlich wie timelines
- Time Surfaces stellen die Verformung einer Ausgangsfläche dar, die von der Strömung fortbewegt wird
Was ist wichtig bei der Wahl einer Startfläche für Time Surfaces und welche Möglichkeiten hat man?
- Die Startfläche sollte so senkrecht wie möglich zu der Richtung des flows sein
- Manual choice: Der User definiert eine flow field probe
- Automatic choice: (Starten von einem bestimmten Punkt)
- Semi-automatic Alternative: Eine Fläche wird automatisch an der Normalen und Binormalen ausgerichtet
Wie funktioniert die Automatic choice für die Startfläche für Time Surfaces?
- Frenet frame liefert ideale Ausgangsfläche unter Verwendung der Normalen und der Binormalen der flow line
- Berechne zunächst die Integralkurve entlang der Binormalen
- Berechne eine Fließfläche entlang der Richtung der Normalen
Wodurch wird das Startpolygon (Rechteck) bei Flow Volumes vorgegeben?
Durch den User
Wie funktioniert Splitting und Ripping von Flow Volumes?
Splitting und Ripping ist analog zu Stream Surfaces: Das Volumen wird geteilt oder aufgerissen in Flächen mit einer hohen positiven Divergence
Was kann man über Merging von Flow Volumes sagen?
Merging tritt nur selten auf, da typischerweise kleine initial polygons vorgegeben sind
Wie wird das Flow Volume gerendert?
Das Flow Volume wird mit Volume Rendering gerendert
Welche Texture-based Methods in 3D gibt es?
3D LIC
Was ist 3D LIC?
- Berechnung analog zu 2D
- Dreidimensionales Rauschen wird entlang der 3D flow line des vector field geglättet
- Resultierendes 3D scalar field (Textur) wird mit clipping planes oder volume rendering visualisiert
Clipping und Transparenz helfen nicht viel in komplexen flow files mit 3D LIC, was kann man alternativ machen?
Nutze Inputtexturen mit sparse non-transparent regions