Create Presentation
Download Presentation

Download Presentation
## Vortex Fluid Structure For Smoke Control

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**SCA 2006**Vortex Fluid StructureFor Smoke Control Alexis Angelidis (1) Fabrice Neyret (2) Karan Singh (1) Derek Nowrouzezahrai (1) (1): DGP, U of Toronto (2): Evasion-GRAVIR / IMAG-INRIA**Motivation**• Fluid Animation: smoke, clouds, fire, explosion, splashes, sea… • Simulation vs Animation [ Areté Entertainment, inc. 96] [ LOTR ]**Motivation**• Fluid Animation: smoke, clouds, fire, explosion, splashes, sea… • Simulation vs Animation • Approaches to control: • Phenomenological, limited • Fake forces • Control by keyframing ‘shapes’ [ Areté Entertainment, inc. 96] [ LotR ]**Motivation**[Treuille et al.03],[McNamara et al.04],[Fattal et al.04] Most related work • Density field given at keyframes • Solver between frames What we want • No hand-drawn smoke • Natural control key2 key1 [McNamara et al.04]**Background [AN05]**Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian ‘‘Chart of methods for numerical fluid simulation’’**vorticity**Background Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian 3D field velocity v Rotation in rad s-1 translation in m s-1**vorticity**Background Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian velocity v Curl**vorticity**Background Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian velocity v BIOT-SAVART**Background**Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian Dynamics : Eulerian The flow modifies quantities held at static positions Lagrangian The flow carries floaters that hold the quantities**Background**Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian Eulerian Lagrangian in grid at particle**Background**Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian NAVIER-STOKES ( incompressible )**Background**Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian**Background**Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian VORTICITY EQUATION ( inviscid )**Background**Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian No diffusion Implicit incompressibility compact Unbounded … Easy boundary conditions Easy extra differential eqn …**VORTICITY EQUATION**Background Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian Vorticity: Vortex particle advected, vector stretched vorticity moves as material lines**w**Background Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian Vorticity: Our primitive = curves = tangent**Background**Velocity Vorticity moving quantity representation popular Eulerian our method Lagrangian Density: Dedicated particles - passive floaters - for rendering - only where smoke is Density: a quantity at nodes**Lagrangian primitives**• Curves carry the vorticity • Each local vortex induces a weighted rotation**Lagrangian primitives**• Curves carry the vorticity • Each local vortex induces a weighted rotation**Method of simulation**• Vortex particles (for motion) organized as curves. = tangent • Smoke particles (for visualisation) • Curves carry vortices • Vortices induce a velocity field • velocity field deforms curves & smoke At every step: • Advect the curves • Stretch • Advect the smoke**Method of simulation**• Vortex particles (for motion) organized as curves. = tangent • Smoke particles (for visualisation) • Curves carry vortices • Vortices induce a velocity field • velocity field deforms curves & smoke At every step: • Advect the curves • Stretch • Advect the smoke**Method of simulation**• Vortex particles (for motion) organized as curves. = tangent • Smoke particles (for visualisation) • Curves carry vortices • Vortices induce a velocity field • velocity field deforms curves & smoke At every step: • Advect the curves • Stretch • Advect the smoke**Contributions**• A new representation of vortex curves Compact, stable, controlable motion primitives • Controls of the motion primitives • Fast ‘‘noise’’ for fake turbulence details**Contributions**• A new representation of vortex curves Compact, stable, controlable motion primitives • Controls of the motion primitives • Fast ‘‘noise’’ for fake turbulence details**Deformation of curves previous approach [AN05]**If not refined: undersampling Polygon If refined: too complex Strategy to control complexity**…**New representation • Solution: harmonic analysis of coordinates x = in y z a pair of coefficients for each harmonic • Reference frame: best ellipsoid Complexity control • Curves described by : • Frame o ex ey ez • Frequencies <cx cy cz>1..N Synthesis Advection Analysis**…**New representation • Solution: harmonic analysis of coordinates x = in y z a pair of coefficients for each harmonic ez ey • Reference frame: best ellipsoid o ex Complexity control • Curves described by : • Frame o ex ey ez • Frequencies <cx cy cz>1..N Synthesis Advection Analysis**…**New representation • Solution: harmonic analysis of coordinates x = in y z a pair of coefficients for each harmonic ez ey • Reference frame: best ellipsoid o ex Complexity control • Curves described by : • Frame o ex ey ez • Frequencies <cx cy cz>1..N Synthesis Advection Analysis**…**New representation • Solution: harmonic analysis of coordinates x = in y z a pair of coefficients for each harmonic ez ey • Reference frame: best ellipsoid o ex Complexity control • Curves described by : • Frame o ex ey ez • Frequencies <cx cy cz>1..N Synthesis Advection Analysis**ez**ey … o ex Meaning of description • ez points towards moving direction • Frequencies cx cy cz give texture to the flow • Thickness**Contributions**• A new representation of vortex curves Compact, stable, controlable motion primitives • Controls of the motion primitives • Fast ‘‘noise’’ for fake turbulence details**+**without with ez ey <cx cy cz>1..N … o ex Control • direction: align ez with tangent • Targets: • Twisting smoke: spin vortices around ez • Edit, delete … • Modulate cx cy cz to texturethe flow**+**without with ez ey <cx cy cz>1..N … o ex Control • direction: align ez with tangent • Targets: • Twisting smoke: spin vortices around ez • Edit, delete … • Modulate cx cy cz to texturethe flow**+**without with ez ey <cx cy cz>1..N … o ex Control • direction: align ez with tangent • Targets: • Twisting smoke: spin vortices around ez • Edit, delete … • Modulate cx cy cz to texturethe flow**How to control**• One cannot just translate the curves: the smoke does not follow • Solution: paddle(servoing ) ez ey o ex**Contributions**• A new representation of vortex curves Compact, stable, controlable motion primitives • Controls of the motion primitives • Fast ‘‘noise’’ for fake turbulence details**[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**[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**[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**Contributions**• A new representation of vortex curves Compact, stable, controlable motion primitives • Controls of the motion primitives • Fast ‘‘noise’’ for fake turbulence details • Velocity cache, rendering**Octree cache**• Velocity computed at octree leaves + inbetween interpolation • Velocity computed at every smoke particle &every vorticity curve sample**Octree cache**• Velocity computed at octree leaves + inbetween interpolation • Velocity computed at every smoke particle &every vorticity curve sample**Rendering**• Thick smoke: plain particles • Thin smoke: adaptive particles[AN05] • accumulate stretching**l**n e Rendering • Thin smoke behaves like a surface [ William Brennan ]**Results - video**fpsForest fire Genie&lamp Walkthrough Fly Modeler quality5 12 5 18 Final rendering quality0.54 0.2 1. 0.37**Conclusion**Vorticity filaments: • Compact, high-res, fast • Good handles to manipulate a fluid • Can be manipulated interactively or post- Future work: • Split/merge • High-quality collisions • 2-phase, buoyancy, … Coupling with grids