Download presentation
Presentation is loading. Please wait.
Published byDennis Carpenter Modified over 9 years ago
1
Vortex Fluid Structure For Smoke Control SCA 2006 Alexis Angelidis Alexis Angelidis (1) Fabrice Neyret Fabrice Neyret (2) Karan Singh Karan Singh (1) Derek Nowrouzezahrai Derek Nowrouzezahrai (1) (1): DGP, U of Toronto (2): Evasion-GRAVIR / IMAG-INRIA
2
Motivation Fluid Animation: smoke, clouds, fire, explosion, splashes, sea…Fluid Animation: smoke, clouds, fire, explosion, splashes, sea… Simulation vs AnimationSimulation vs Animation [ Areté Entertainment, inc. 96] [ LOTR ]
3
Motivation Fluid Animation: smoke, clouds, fire, explosion, splashes, sea…Fluid Animation: smoke, clouds, fire, explosion, splashes, sea… Simulation vs AnimationSimulation vs Animation Approaches to control:Approaches to control: –Phenomenological, limited –Fake forces –Control by keyframing ‘shapes’ [ Areté Entertainment, inc. 96] [ LotR ]
4
Motivation Most related work Density field given at keyframesDensity field given at keyframes Solver between framesSolver between frames What we want No hand-drawn smokeNo hand-drawn smoke Natural controlNatural control [Treuille et al. 03],[McNamara et al. 04],[Fattal et al. 04] [McNamara et al. 04] key1 key2
5
Background [AN05] Background [AN05] Eulerian VorticityVelocity Lagrangian movingquantity representation ourmethod ‘‘Chart of methods for numerical fluid simulation’’ popular
6
Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod representation velocity v translation in m s -1 Rotation in rad s -1 vorticityvorticitypopular 3Dfield
7
Curl Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod representation velocity v vorticityvorticitypopular
8
BIOT-SAVART Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod representation vorticityvorticitypopular
9
Background Eulerian VorticityVelocity Lagrangian movingquantity representation ourmethod Eulerian Lagrangian The flow modifies quantities held at static positions The flow carries floaters that hold the quantities Dynamics : popular
10
Background Eulerian VorticityVelocity Lagrangian movingquantity representation ourmethod LagrangianLagrangianEulerianEulerian at particle in grid popular
11
Background Eulerian VorticityVelocity Lagrangian movingquantity popular ourmethod NAVIER-STOKES ( incompressible ) representation
12
Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod representation popular
13
Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod VORTICITY EQUATION representation ( inviscid ) popular
14
Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod representation popular Easy boundary conditions Easy extra differential eqn … No diffusion Implicit incompressibility compact compactUnbounded…
15
Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod VORTICITY EQUATION representation popular Vorticity: Vortex particle advected, vector stretched vorticity moves as material lines
16
Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod representation popular Vorticity: Our primitive = curves = tangent = tangent
17
Background Eulerian VorticityVelocity Lagrangian movingquantity ourmethod representation Density: a quantity at nodes a quantity at nodes Density: Dedicated particles Dedicated particles - passive floaters - passive floaters - for rendering - for rendering - only where smoke is - only where smoke is popular
18
Lagrangian primitives Curves carry the vorticityCurves carry the vorticity Each local vortex induces a weighted rotationEach local vortex induces a weighted rotation
19
Lagrangian primitives Curves carry the vorticityCurves carry the vorticity Each local vortex induces a weighted rotationEach local vortex induces a weighted rotation
20
Method of simulation Vortex particles (for motion) organized as curves. = tangentVortex particles (for motion) organized as curves. = tangent Smoke particles (for visualisation)Smoke particles (for visualisation) Curves carry vorticesCurves carry vortices Vortices induce a velocity fieldVortices induce a velocity field velocity field deforms curves & smokevelocity field deforms curves & smoke At every step: Advect the curvesAdvect the curves StretchStretch Advect the smokeAdvect the smoke
21
Method of simulation Vortex particles (for motion) organized as curves. = tangentVortex particles (for motion) organized as curves. = tangent Smoke particles (for visualisation)Smoke particles (for visualisation) Curves carry vorticesCurves carry vortices Vortices induce a velocity fieldVortices induce a velocity field velocity field deforms curves & smokevelocity field deforms curves & smoke At every step: Advect the curvesAdvect the curves StretchStretch Advect the smokeAdvect the smoke
22
Method of simulation Vortex particles (for motion) organized as curves. = tangentVortex particles (for motion) organized as curves. = tangent Smoke particles (for visualisation)Smoke particles (for visualisation) Curves carry vorticesCurves carry vortices Vortices induce a velocity fieldVortices induce a velocity field velocity field deforms curves & smokevelocity field deforms curves & smoke At every step: Advect the curvesAdvect the curves StretchStretch Advect the smokeAdvect the smoke
23
A new representation of vortex curvesA new representation of vortex curves Compact, stable, controlable motion primitives Controls of the motion primitivesControls of the motion primitives Fast ‘‘noise’’ for fake turbulence detailsFast ‘‘noise’’ for fake turbulence details Contributions
24
A new representation of vortex curvesA new representation of vortex curves Compact, stable, controlable motion primitives Controls of the motion primitivesControls of the motion primitives Fast ‘‘noise’’ for fake turbulence detailsFast ‘‘noise’’ for fake turbulence details Contributions
25
Deformation of curves previous approach [AN05] If refined: too complex Polygon If not refined: undersampling Strategy to control complexity
26
New representation Solution: harmonic analysis of coordinatesSolution: harmonic analysis of coordinates x = in y z Reference frame: best ellipsoidReference frame: best ellipsoid a pair of coefficients for each harmonic Curves described by :Curves described by : –Frame o e x e y e z –Frequencies 1..N SynthesisAdvectionAnalysis Complexity control …
27
New representation Solution: harmonic analysis of coordinatesSolution: harmonic analysis of coordinates x = in y z Reference frame: best ellipsoidReference frame: best ellipsoid a pair of coefficients for each harmonic Curves described by :Curves described by : –Frame o e x e y e z –Frequencies 1..N SynthesisAdvectionAnalysis Complexity control exexexex eyeyeyey ezezezez o …
28
New representation Solution: harmonic analysis of coordinatesSolution: harmonic analysis of coordinates x = in y z Reference frame: best ellipsoidReference frame: best ellipsoid a pair of coefficients for each harmonic Curves described by :Curves described by : –Frame o e x e y e z –Frequencies 1..N SynthesisAdvectionAnalysis Complexity control exexexex eyeyeyey ezezezez o …
29
New representation Solution: harmonic analysis of coordinatesSolution: harmonic analysis of coordinates x = in y z Reference frame: best ellipsoidReference frame: best ellipsoid a pair of coefficients for each harmonic Curves described by :Curves described by : –Frame o e x e y e z –Frequencies 1..N SynthesisAdvectionAnalysis Complexity control exexexex eyeyeyey ezezezez o …
30
Meaning of description e z points towards moving direction e z points towards moving direction exexexex eyeyeyey ezezezezo Frequencies c x c y c z give texture to the flowFrequencies c x c y c z give texture to the flow … ThicknessThickness
31
Video: representation
32
A new representation of vortex curvesA new representation of vortex curves Compact, stable, controlable motion primitives Controls of the motion primitivesControls of the motion primitives Fast ‘‘noise’’ for fake turbulence detailsFast ‘‘noise’’ for fake turbulence details Contributions
33
direction: align e z with tangentdirection: align e z with tangent Targets:Targets: Twisting smoke: spin vortices around e zTwisting smoke: spin vortices around e z Edit, delete …Edit, delete … Modulate c x c y c z to texture the flowModulate c x c y c z to texture the flow Control without with exexexex eyeyeyey ezezezezo … 1..N +
34
direction: align e z with tangentdirection: align e z with tangent Targets:Targets: Twisting smoke: spin vortices around e zTwisting smoke: spin vortices around e z Edit, delete …Edit, delete … Modulate c x c y c z to texture the flowModulate c x c y c z to texture the flow Control without with exexexex eyeyeyey ezezezezo … 1..N +
35
direction: align e z with tangentdirection: align e z with tangent Targets:Targets: Twisting smoke: spin vortices around e zTwisting smoke: spin vortices around e z Edit, delete …Edit, delete … Modulate c x c y c z to texture the flowModulate c x c y c z to texture the flow Control without with exexexex eyeyeyey ezezezezo … 1..N +
36
How to control One cannot just translate the curves: the smoke does not followOne cannot just translate the curves: the smoke does not follow exexexex eyeyeyey ezezezez o Solution: paddle (servoing )Solution: paddle (servoing )
37
Video: control
38
A new representation of vortex curvesA new representation of vortex curves Compact, stable, controlable motion primitives Controls of the motion primitivesControls of the motion primitives Fast ‘‘noise’’ for fake turbulence detailsFast ‘‘noise’’ for fake turbulence details Contributions
39
[AN05]: noise = extra vortex particles advected in the flow, no stretch Costly (needs a lot) Source, sampling Tiled vortex noise: noise layer = separate simulation, in toroidal space Tiled in space Additional evolving velocity field Noise: fake turbulence details
40
[AN05]: noise = extra vortex particles advected in the flow, no stretch Costly (needs a lot) Source, sampling Tiled vortex noise: noise layer = separate simulation, in toroidal space Tiled in space Additional evolving velocity field Noise: fake turbulence details
41
[AN05]: noise = extra vortex particles advected in the flow, no stretch Costly (needs a lot) Source, sampling Tiled vortex noise: noise layer = separate simulation, in toroidal space Tiled in space Additional evolving velocity field Noise: fake turbulence details
42
Video: noise
43
A new representation of vortex curvesA new representation of vortex curves Compact, stable, controlable motion primitives Controls of the motion primitivesControls of the motion primitives Fast ‘‘noise’’ for fake turbulence detailsFast ‘‘noise’’ for fake turbulence details Velocity cache, renderingVelocity cache, rendering Contributions
44
Octree cache Velocity computed at every smoke particle & every vorticity curve sampleVelocity computed at every smoke particle & every vorticity curve sample Velocity computed at octree leaves + inbetween interpolationVelocity computed at octree leaves + inbetween interpolation
45
Octree cache Velocity computed at every smoke particle & every vorticity curve sampleVelocity computed at every smoke particle & every vorticity curve sample Velocity computed at octree leaves + inbetween interpolationVelocity computed at octree leaves + inbetween interpolation
46
Rendering Thick smoke: plain particlesThick smoke: plain particles Thin smoke: adaptive particles [AN05]Thin smoke: adaptive particles [AN05] –accumulate stretching
47
Rendering Thin smoke behaves like a surfaceThin smoke behaves like a surface [ William Brennan ] e n l
48
Results - video fps Forest fire Genie&lamp Walkthrough Fly Modeler quality 5 12 5 18 Final rendering quality 0.54 0.2 1. 0.37
49
Vorticity filaments: Compact, high-res, fastCompact, high-res, fast Good handles to manipulate a fluidGood handles to manipulate a fluid Can be manipulated interactively or post-Can be manipulated interactively or post- Future work: Split/mergeSplit/merge High-quality collisionsHigh-quality collisions 2-phase, buoyancy, …2-phase, buoyancy, … Conclusion Coupling with grids
50
Thanks!
51
Video: collisions
52
Video: thickness
53
Rendering Thin smoke behaves like a surfaceThin smoke behaves like a surface Diffuse off Diffuse on e n l
54
Rendering Thin smoke behaves like a surfaceThin smoke behaves like a surface
55
Lagrangian primitives Curves carry the vorticityCurves carry the vorticity Each vortex induces a weighted rotationEach vortex induces a weighted rotation Effect of one vortex on a shape :
56
Control currents Without controlWithout controlWith control L ezezezez L
57
Checkpoint With controlWith control
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.