Advanced Topics in Computer Graphics and Visualization

Slides:



Advertisements
Ähnliche Präsentationen
Das virtuelle Physiklabor im Computer: Vom Experiment zur Simulation
Advertisements

Vorlesung 28: Roter Faden: Heute:
Aerodynamische und akustische Grundbegriffe
Wasserfall-Ansätze zur Bildsegmentierung
Probleme mit Formeln beim Download ?
Kapitel 4: Statik und Dynamik in kontinuierlichen Medien
Bewegung elektrischer Ladungen im elektrischen Feld
Inkompressible Flüsse
V 12: Systemen partieller Differentialgleichungen
Special Effects Realistischeres Rendern einer Scene.
Aggregatzustände (Bsp. Wasser)
Konvektive Transportvorgänge
Rechner Praktikum Numerische Gasdynamik Nuss-Projekt 2: Riemannlöser
Betreuer: Christian Fleck
Variationsformalismus für das freie Teilchen
Erdbebenlokalisierung
Erstellt und bearbeitet von:
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Multiplayer & MMO Games
Finite Differenzen Verfahren zur numerischen Lawinensimulation
Hydro- und Aerodynamik
Java Garbage Collection Angelika Kusel, Überblick Was ist Garbage Collection? Vor- und Nachteile von GC GC-Algorithmen/Verfahren Java Garbage.
Strömung realer Flüssigkeiten
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Proseminar: How to make a PIXAR movie?
GPU-basierte Simulation dynamischer Terrains
Hydro- und Aerostatik Der Druck.
Strömung realer Flüssigkeiten
Druck in Flüssigkeiten (und Festkörpern)
Hydro- und Aerostatik Druck in Gasen.
Hydro- und Aerodynamik
Reibungskraft an einer Kugel in laminarer Strömung
Strömung realer Flüssigkeiten
Reibungskraft an einer Kugel in laminarer Strömung
Hydro- und Aerodynamik
Hydro- und Aerodynamik
Frank Kameier 4. Vorlesung
Chaos im Sonnensystem (Kurzüberischt)
Kontinuität Impulssatz Energiesatz
Strömung realer Flüssigkeiten
Hydro- und Aerostatik Der Druck.
… oder wie finde ich den Weg
LÄRMSCHUTZ-WIRKUNG GEKRÜMMTER LÄRMSCHUTZ-WÄNDE
ProSeminar WS 2007/08 Leo Hackstein
Ein Vortrag von Simon Bayer
Strategie der Modellbildung
Frank Kameier Strömungstechnik II 2. Vorlesung
Ein Überblick über verschiedene Verfahren
LOD Levels of Detail Oliver Gassner Christian Troger.
Aufgabe Ein Gefäss hat einen Zufluss und zwei Abflüsse. Die Ströme sind durch folgende Funktion gegeben: IV1 = (0.40 l/s2)t l/s, IV2 = l/s,
Eindimensionale Bewegungen
Universität Münster Institut für Geophysik
Frank Kameier - Strömungstechnik I und Messdatenerfassung Folie VL11/ Nr.1 WS14/15 Frank Kameier 11. Vorlesung Strömungstechnik.
Gravitation regiert die Welt
PhysX auf der GPU in Batman: Arkham Asylum & bei Fluid Simulations Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie.
Instrumentenpraktikum
Wärmelehre Lösungen.
AusbreitungsmodelleAusbreitungsmodelle GIS-Seminar WS 2001/2002 Vortrag: Jaimie E.H. Viadoy Betreuer: Udo Quadt
Institut für Biomedizinische Technik Universität Karlsruhe Institut für Biomedizinische Technik Seminarvortrag Segmentierung medizinischer Bilder anhand.
Numerische Simulation des Stofftransports
Impulserhaltung - Masse*Beschleunigung=Kraft
CL Tree MW 31.1 Business Intelligence Wintersemester 2015 / 2016 Stanislav Prokupetz.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Simulationstechnik V Vorlesung/Praktikum an der RWTH Aachen
Simulationstechnik V Vorlesung/Praktikum an der RWTH Aachen
Fakultät Informatik Institut für Software und Multimediatechnik, Lehrstuhl Computergraphik und Visualisierung Computergraphische Simulation von Bruchbildung.
 Präsentation transkript:

Advanced Topics in Computer Graphics and Visualization Animating Sand as a Fluid Hanno Flohr Master Informatik

Gliederung Grundlagen Fluidsimulation Animation von Sand als Fluid mit Gittern mit Partikeln Animation von Sand als Fluid Fluidsimulation Modellierung des Sands Oberflächenrekonstruktion mit Partikeln

Fluidsimulation Fluide: verschiedene Fluidarten Flüssigkeiten Gase verschiedene Fluidarten zähflüssig oder reibungsfrei komprimierbar oder nicht komprimierbar verschiedene Flussarten (laminar/turbulent) Verschiedene Ansätze zur Beschreibung Fluidsimulation mit Eulerschen Gittern Fluidsimulation mit Lagrangeschen Partikeln

Fluidsimulation Gleichungen zur Berechnung basieren auf: Massenerhaltung Impulserhaltung Volumenkräfte (z.B. Gravitation) Oberflächenkräfte (Druckkraft, Reibung gemäß Viskosität) Randbedingungen Bestimmen Geometrie des Fluidrands und Flußverhalten am Rand Variablen: Geschwindigkeit 𝑉 = (𝑢,𝑣,𝑤) 𝑇 Hilfsvariablen (z.B. Druck, Dichte, Viskosität)

Fluidsimulation Kontinuitätsgleichung für inkompressible Fluide: 𝑑𝑖𝑣(𝐺𝑒𝑠𝑐ℎ𝑤𝑖𝑛𝑑𝑖𝑔𝑘𝑒𝑖𝑡)=0 Navier-Stokes Gleichung (für inkompressible Fluide): 𝑑𝑣 𝑑𝑡 =−𝑣∗𝛻 𝑣+ 𝑓+ 𝜇 𝜌 𝛻² 𝑣 − 𝛻𝑝 𝜌 𝑑𝑣 𝑑𝑡 =− Advektion+ Volumenkräfte+Diffusion −Druck Advektion: Fluid transportiert Werte/Objekte Volumenkräfte: Beschleunigung durch externe Kräfte Diffusion: Glättung des Vektorfelds (abhängig von Viskosität) Druck: stellt sicher das Geschwindigkeitsfeld divergenzfrei bleibt

Fluidsimulation mit Gittern Gitterpunkte speichern Geschwindigkeit, Druck, Indikator wo das Fluid (nicht) ist und zusätzliche Variablen Bestimmung der Zelleninhalte Leer Oberfläche Voll Randbedingungen für betroffene Zellen festlegen volle Zellen: Geschwindigkeitskomponenten berechnen und einen Iterationsschritt für neuen Druck Oberflächenzellen: Randgeschwindigkeit neu berechnen Position und Oberfläche updaten

Fluidsimulation mit Gittern Hauptvorteil: Simple Diskretisierung der Gleichungen und Lösung der Inkompressibilitätsbedingung Nachteile: Gitter benötigt Werte auch an Gitterpunkten ohne Fluid Probleme mit Advektion hohe numerische Diffusion wegen akkumulierter Interpolationsfehler durch numerische Approximation der Gleichungen

Fluidsimulation mit Partikeln Smoothed Particle Hydrodynamics (SPH) SPH Modell: Fluid als Set von diskreten, sich bewegenden Partikeln speichern Position und Geschwindigkeit Kontinuitätsgleichung durch Modell erfüllt konstante Anzahl Partikel mit konstanter Masse Fluid kann sich frei ausbreiten Partikeleigenschaften beeinflussen Nachbarschaft

Smoothed Particle Hydrodynamics SPH Simulation: Dichte aller Partikel bestimmen Masseneinfluss benachbarter Partikel Beschleunigung aller Partikel berechnen Krafteinflüße benachbarter Partikel Geschwindigkeiten updaten Alle Partikel bewegen Position der Partikel updaten

Smoothed Particle Hydrodynamics Vorteile: hohe Präzision bei Advektion kein Gitter benötigt Nachteile: Nachbarschaftsbestimmung nötig effizienteste Methoden basieren auf Sortierung der Partikel in gewöhnliche Gitter, kd-tree oder BSP-tree Probleme mit Druck und Inkompressibilitätsbedingung oft kleinere Zeitschritte benötigt

Animation von Sand als Fluid Fluidsimulation Modellierung des Sands Oberflächenrekonstruktion mit Partikeln

Fluidsimulation Komplementarität der Stärken und Schwächen von Gittern und Partikeln nutzen Gitter Partikel Inkompressibilität / Druck + - Advektion ja als Hilfsstruktur

Fluidsimulation Particle-in-Cell (PIC): Fluid-Implicit-Particle (FLIP) Partikel für Advektion, Gitter für Rest Problem: hohe numerische Diffusion durch wiederholte Mittelung und Interpolation Fluid-Implicit-Particle (FLIP) Partikel fundamentale Repräsentation des Fluids Gitter zum Aktualisieren der Partikelvariablen, gemäß auf dem Gitter berechneten Änderungen Verbesserung: kaum numerische Diffusion

Algorithmus (1) Adaption von PIC und FLIP für nicht komprimierbare Flüße: Initialisierung der Partikel 8 Partikel pro Zelle Randomly jittered (gegen Aliasing) Partikel nahe der Fluidoberfläche: mindestens halbe Zelle von Oberfläche entfernt

Algorithmus (2) Übertragung auf Gitter: Gitterpunkte erhalten gewichtetes Mittel der nahen Partikel (trilineare Interpolation) Markierung von Gitterzellen mit zumindest einem Partikel im unmarkierten Gitterbereich: Abstandsfeld konstruieren um Geschwindigkeitsfeld außerhalb des Fluids auszudehnen

Algorithmus (3) Berechnungen auf dem Gitter: Addieren der Beschleunigung durch Gravitation Randbedingungen und Inkompressibilität erzwingen neues Geschwindigkeitsfeld erneut ausdehnen Gitter nur als Zusatzstruktur (Gitter muss nicht in jedem Zeitschritt gleich sein)

Algorithmus (4) Partikelgeschwindigkeiten updaten Trilineare Interpolation der Geschwindigkeit (PIC) oder Geschwindigkeitsänderung (FLIP) gemäß der 8 umliegenden Gitterpunkte zähflüssige Strömung (zB Sand): PIC reibungsfreie Strömung (zB Wasser): FLIP

Algorithmus (5) Partikel bewegen (Advektion) Simpler ODE solver mit 5 Zwischenschritten Beachtung der CFL Bedingung (max eine Zelle pro Zwischenschritt) Erkennen von Partikeln die feste Wände durchdringen Behebung zur Vermeidung von Artefakten

Animation von Sand als Fluid Fluidsimulation Modellierung des Sands Oberflächenrekonstruktion mit Partikeln

Modellierung des Sands Definiton der Materialverformung Mohr-Coulomb-Gesetz für statische Reibung: Scherspannung 𝜎 𝑠 (lässt Partikel aneinander gleiten) Druck 𝜎 𝑚 (drückt Partikel aneinander) μ: Reibungswert 3 𝜎 𝑠 <μ 𝜎 𝑚 Scherspannung zu gross: einfachste Flussregel angewandt: Sand darf sich in Richtung der Scherkraft ausbreiten

Zusammenhalt (Kohäsion) kleine numerische Fehler können zu Gleiten im Sand führen (-> instabil) Kohäsionskoeffizient 𝑐 zum Ausgleich der Fehler 3 𝜎 𝑠 <μ 𝜎 𝑚 +𝑐 höhere Scherspannung nötig bevor Sand fließt erreichter Effekt: stabiles Verhalten des Sands im Ruhezustand kein sichtbarer Effekt auf Fluss wenn Sand in Bewegung Aber: zur Modellierung von Gesteinen mit wirklicher Kohäsion ungeeignet, da zu stabil

Vereinfachtes Modell (Annahmen) Nicht komprimierbare Strömung -> konstante Dichte Druck um gesamtes Geschwindigkeitsfeld inkompressibel zu machen ähnlich richtigem Druck im Sand Keine Beachtung von elastischer Verformung minimaler Volumenänderung zu Beginn/Ende des Flusses Aufteilung: Zellen mit starrer Bewegung und Zellen mit nicht komprimierbarer Scherströmung

Vereinfachtes Modell (Annahmen) Fließflächen-Bedingung: Sand kann Kräften und Massenträgheit widerstehen -> Zelle mit starrer Bewegung Verfestigung der Geschwindigkeit starrer Regionen: Gruppen von zusammenhängenden starren Zellen finden einheitliche Geschwindigkeit für starre Regionen bestimmen projizierte Starrkörperbewegung berechnen

Reibungsrandbedingungen definieren Reibung zwischen Sand und anderen Objekten Randbedingungen bisher erlauben: entweder keinerlei Gleiten oder dauerhaftes Gleiten Video-Quelle: http://www.cs.ubc.ca/~rbridson/movies/websandbunny.mov

Reibungsrandbedingungen Reibungsformel: Statische Reibung: Geschwindigkeit in Tangentialrichtung = Null Kinetische Reibung: Geschwindigkeit in Tangentialrichtung proportional reduziert Video-Quelle: http://www.cs.ubc.ca/~rbridson/movies/sandbunny.mov

Algorithmus (für jeden Zeitschritt) Gewöhnliche Schritte der Fluidsimulation (Advektion, Gravitation, Randbedingungen, Druck, etc) Berechnung: Formänderungsgeschwindigkeitstensor pro Zelle (zentrale Differenzen) Speichern der Zellen als starr oder fließend Gruppen von starren Zellen finden und Geschwindigkeiten verfestigen Update verbleibender Geschwindigkeiten mit Reibungsspannung

Animation von Sand als Fluid Fluidsimulation Modellierung des Sands Oberflächenrekonstruktion mit Partikeln

Oberflächenrekonstruktion durch Simulation: Positionen der Partikel welche das Fluid definieren für hochqualitatives Rendering: Oberfläche zur Umhüllung der Partikel nötig

Oberflächenrekonstruktion Prinzip: exakte Rekonstruktion des Abstandsfelds der Partikel Für jeden Gitterpunkt: naheliegende Partikel in Radius um Gitterpunkt (𝑥) finden gewichtetes Mittel der Postionen ( 𝑥 ) und Radien ( 𝑟 ) aller naheliegenden Partikel berechnen Gewichtung anhand Kernelfunktion und Radius um Gitterpunkt Abstand zu naheliegenden Partikeln berechnen: 𝑑 𝑥 = 𝑥 − 𝑥 − 𝑟

Oberflächenrekonstruktion Oberfläche bestimmen: benachbarte Gitterpunkte mit unterschiedlichen Vorzeichen für Abstand Oberfläche zwischen diesen Gitterpunkten Oberflächenpunkte anhand Abstandswerten bestimmbar Vorteile: Geringe Kosten pro Frame Unabhängige Frames -> Berechnung mit mehreren CPUs/Maschinen parallel möglich

Oberflächenrekonstruktion Probleme: Artefakte in konkaven Regionen gemittelte Position kann irrtümlich außerhalb der Oberfläche liegen Lösung: Sampling auf höherer Auflösung + ein smoothing pass Radien müssen genaue Abschätzungen des Abstands zur Oberfläche sein keine schnelle Methode zur Berechnung mit genügend hoher Präzision vorhanden Darum: alle Radien fest (konstanter durchschnittlicher Partikelabstand) und Initialabstand an Oberfläche anpassen

Video: Sand Column Video-Quelle: http://www.cs.ubc.ca/~rbridson/movies/sandcolumn.mov

Video: Water Column Video-Quelle: http://www.cs.ubc.ca/~rbridson/movies/webwaterslide.mov

Vielen Dank für ihre Aufmerksamkeit! Fragen?