vortex fluid structure for smoke control

57
Vortex Fluid Structure Vortex Fluid Structure For Smoke Control For Smoke Control SCA 2006 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

Upload: chen

Post on 25-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

SCA 2006. Vortex Fluid Structure For 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… - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Vortex Fluid Structure For Smoke Control

Vortex Fluid StructureVortex Fluid StructureFor Smoke ControlFor Smoke Control

SCA 2006SCA 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

Page 2: Vortex Fluid Structure For Smoke Control

MotivationMotivation• Fluid Animation: Fluid Animation: smokesmoke, clouds, fire, explosion, splashes, sea…, clouds, fire, explosion, splashes, sea…

• Simulation vs AnimationSimulation vs Animation

[ Areté Entertainment, inc. 96][ Areté Entertainment, inc. 96] [ [ LOTRLOTR ] ]

Page 3: Vortex Fluid Structure For Smoke Control

MotivationMotivation• Fluid Animation: Fluid Animation: smokesmoke, clouds, fire, explosion, splashes, sea…, clouds, fire, explosion, splashes, sea…

• Simulation vs AnimationSimulation vs Animation

• Approaches to control:Approaches to control:– Phenomenological, limitedPhenomenological, limited– Fake forcesFake forces– Control by keyframing ‘shapes’Control by keyframing ‘shapes’

[ Areté Entertainment, inc. 96][ Areté Entertainment, inc. 96] [ [ LotRLotR ] ]

Page 4: Vortex Fluid Structure For Smoke Control

MotivationMotivation

Most related workMost related work• Density field given at keyframesDensity field given at keyframes• Solver between framesSolver between frames

What we wantWhat we want• No hand-drawn smokeNo hand-drawn smoke• Natural controlNatural control

[Treuille [Treuille et al.et al.03],[McNamara 03],[McNamara et al.et al.04],[Fattal 04],[Fattal et al.et al.04]04]

[McNamara [McNamara et al.et al.04]04]

key1 key2

Page 5: Vortex Fluid Structure For Smoke Control

Background Background [AN05][AN05]

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

representationrepresentation

ourourmethodmethod

v ω

‘‘‘‘Chart of methods for numerical fluid simulation’’Chart of methods for numerical fluid simulation’’

popularpopular

Page 6: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ωrepresentationrepresentation

velocity velocity vv

translation in translation in m sm s-1-1 Rotation in Rotation in rad srad s-1-1

vorticity vorticity ω

popularpopular

3D3Dfield field

Page 7: Vortex Fluid Structure For Smoke Control

vω CurlCurl

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ωrepresentationrepresentation

velocity velocity vv vorticityvorticity ω

popularpopular

Page 8: Vortex Fluid Structure For Smoke Control

dx

xpxp

34)(

ωv

BIOT-SAVARTBIOT-SAVART

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ωrepresentationrepresentation

velocity velocity vv vorticityvorticity ω

popularpopular

Page 9: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

representationrepresentation

ourourmethodmethod

v ω

EulerianEulerian

LagrangianLagrangian

The flow modifies quantitiesThe flow modifies quantitiesheld at static positionsheld at static positions

The flow carries floaters thatThe flow carries floaters thathold the quantitieshold the quantities

Dynamics :Dynamics :

popularpopular

Page 10: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

representationrepresentation

ourourmethodmethod

v ω

dtd

t v

)(

LagrangianLagrangianEulerianEulerianv v v

at particleat particlein gridin grid

popularpopular

Page 11: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

popularpopular

ourourmethodmethod

v ω

ijkv

0

1)( 2

v

gvvvv p

t

NAVIER-STOKESNAVIER-STOKES

( incompressible )( incompressible )

representationrepresentation

Page 12: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ω

representationrepresentation

gvvvv

2 1)(

p

t

popularpopular

Page 13: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ω

VORTICITY EQUATIONVORTICITY EQUATION

vωω )( dtd

representationrepresentation

( inviscid )( inviscid )

popularpopular

Page 14: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ωrepresentationrepresentation

popularpopular

Easy boundary conditionsEasy boundary conditionsEasy extra differential eqnEasy extra differential eqn……

No diffusionNo diffusionImplicit incompressibilityImplicit incompressibility compactcompactUnboundedUnbounded……

ω

Page 15: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ω

VORTICITY EQUATIONVORTICITY EQUATION

vωω )( dtd

representationrepresentation

popularpopular

Vorticity:Vorticity:Vortex particle advected,Vortex particle advected, vector stretched vector stretchedω

vorticity moves as vorticity moves as material linesmaterial lines

Page 16: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ωrepresentationrepresentation

popularpopular

Vorticity:Vorticity:Our primitive = curvesOur primitive = curves = tangent= tangentω

Page 17: Vortex Fluid Structure For Smoke Control

BackgroundBackground

EulerianEulerian

VorticityVorticityVelocityVelocity

LagrangianLagrangian

movingmovingquantityquantity

ourourmethodmethod

v ωrepresentationrepresentation

Density: Density: a quantity at nodesa quantity at nodes

Density:Density: Dedicated particlesDedicated particles - passive floaters- passive floaters - for rendering- for rendering - only where smoke is- only where smoke is

popularpopular

Page 18: Vortex Fluid Structure For Smoke Control

Lagrangian primitivesLagrangian primitives

• Curves carry the Curves carry the vorticityvorticity

• Each local Each local vortexvortex induces a weighted rotation induces a weighted rotation

dlxpxp

34

)(ωv

dx

xpxp

34)(

ωv

Page 19: Vortex Fluid Structure For Smoke Control

Lagrangian primitivesLagrangian primitives

• Curves carry the Curves carry the vorticityvorticity

• Each local Each local vortexvortex induces a weighted rotation induces a weighted rotation

dlxpxp

34

)(ωv

dx

xpxp

34)(

ωv

Page 20: Vortex Fluid Structure For Smoke Control

Method of simulationMethod of simulation• Vortex particlesVortex particles (for motion) (for motion)

organized as curves. = tangent organized as curves. = tangent • Smoke particlesSmoke particles (for visualisation) (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:At every step: • Advect the curvesAdvect the curves• Stretch Stretch • Advect the smokeAdvect the smoke

ω

ω

Page 21: Vortex Fluid Structure For Smoke Control

Method of simulationMethod of simulation• Vortex particles (for motion)Vortex particles (for motion)

organized as curves. = tangent 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:At every step: • Advect the curvesAdvect the curves• Stretch Stretch • Advect the smokeAdvect the smoke

ω

ω

Page 22: Vortex Fluid Structure For Smoke Control

Method of simulationMethod of simulation• Vortex particles (for motion)Vortex particles (for motion)

organized as curves. = tangent 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:At every step: • Advect the curvesAdvect the curves• Stretch Stretch • Advect the smokeAdvect the smoke

ω

ω

Page 23: Vortex Fluid Structure For Smoke Control

• A A new representationnew representation of vortex curves of vortex curvesCompact, stable, controlable motion primitivesCompact, stable, controlable motion primitives

• Controls Controls of the motion primitivesof the motion primitives

• Fast ‘‘Fast ‘‘noisenoise’’ for fake turbulence details’’ for fake turbulence details

ContributionsContributions

Page 24: Vortex Fluid Structure For Smoke Control

• A A new representationnew representation of vortex curves of vortex curvesCompact, stable, controlable motion primitivesCompact, stable, controlable motion primitives

• Controls Controls of the motion primitivesof the motion primitives

• Fast ‘‘Fast ‘‘noisenoise’’ for fake turbulence details’’ for fake turbulence details

ContributionsContributions

Page 25: Vortex Fluid Structure For Smoke Control

Deformation of curves Deformation of curves previous approach previous approach [AN05][AN05]

If refined:If refined:too complextoo complex

PolygonPolygonIf not refined:If not refined:

undersamplingundersampling

Strategy to control complexityStrategy to control complexity

Page 26: Vortex Fluid Structure For Smoke Control

New representationNew representation• Solution: Solution: harmonic analysisharmonic analysis of coordinates of coordinates

xx= in = in yy

zz

• Reference frame: Reference frame: best ellipsoid best ellipsoid

a a pair of coefficientspair of coefficients for each harmonic for each harmonic

• Curves described by :Curves described by :– Frame Frame o eo exx e eyy e ezz

– FrequenciesFrequencies <c <cxx c cyy c czz>>1..N1..N

SynthesisSynthesisAdvectionAdvectionAnalysisAnalysis

Complexity controlComplexity control

……

Page 27: Vortex Fluid Structure For Smoke Control

New representationNew representation• Solution: Solution: harmonic analysisharmonic analysis of coordinates of coordinates

xx= in = in yy

zz

• Reference frame: Reference frame: best ellipsoid best ellipsoid

a a pair of coefficientspair of coefficients for each harmonic for each harmonic

• Curves described by :Curves described by :– Frame Frame o eo exx e eyy e ezz

– FrequenciesFrequencies <c <cxx c cyy c czz>>1..N1..N

SynthesisSynthesisAdvectionAdvectionAnalysisAnalysis

Complexity controlComplexity controleexx

eeyyeezz

oo

……

Page 28: Vortex Fluid Structure For Smoke Control

New representationNew representation• Solution: Solution: harmonic analysisharmonic analysis of coordinates of coordinates

xx= in = in yy

zz

• Reference frame: Reference frame: best ellipsoid best ellipsoid

a a pair of coefficientspair of coefficients for each harmonic for each harmonic

• Curves described by :Curves described by :– Frame Frame o eo exx e eyy e ezz

– FrequenciesFrequencies <c <cxx c cyy c czz>>1..N1..N

SynthesisSynthesisAdvectionAdvectionAnalysisAnalysis

Complexity controlComplexity controleexx

eeyyeezz

oo

……

Page 29: Vortex Fluid Structure For Smoke Control

New representationNew representation• Solution: Solution: harmonic analysisharmonic analysis of coordinates of coordinates

xx= in = in yy

zz

• Reference frame: Reference frame: best ellipsoid best ellipsoid

a a pair of coefficientspair of coefficients for each harmonic for each harmonic

• Curves described by :Curves described by :– Frame Frame o eo exx e eyy e ezz

– FrequenciesFrequencies <c <cxx c cyy c czz>>1..N1..N

SynthesisSynthesisAdvectionAdvectionAnalysisAnalysis

Complexity controlComplexity controleexx

eeyyeezz

oo

……

Page 30: Vortex Fluid Structure For Smoke Control

Meaning of descriptionMeaning of description

• eezz points towards moving direction points towards moving direction

eexx

eeyyeezz

oo

• FrFrequenciesequencies c cxx c cyy c czz give give texture texture to the flowto the flow

……

• ThicknessThickness

Page 31: Vortex Fluid Structure For Smoke Control

Video: representationVideo: representation

Page 32: Vortex Fluid Structure For Smoke Control

• A A new representationnew representation of vortex curves of vortex curvesCompact, stable, controlable motion primitivesCompact, stable, controlable motion primitives

• Controls Controls of the motion primitivesof the motion primitives

• Fast ‘‘Fast ‘‘noisenoise’’ for fake turbulence details’’ for fake turbulence details

ContributionsContributions

Page 33: Vortex Fluid Structure For Smoke Control

• directiondirection: : alignalign e ezz with tangent with tangent

• TargetsTargets::

• TwistingTwisting smoke: smoke: spin vortices around spin vortices around eezz

• Edit, delete …Edit, delete …

• Modulate Modulate ccxx c cyy c czz to to texturetexture the flowthe flow

ControlControl

without with

eexx

eeyyeezzoo ……

<cx cy cz>1..N

++

Page 34: Vortex Fluid Structure For Smoke Control

• directiondirection: : alignalign e ezz with tangent with tangent

• TargetsTargets::

• TwistingTwisting smoke: smoke: spin vortices around spin vortices around eezz

• Edit, delete …Edit, delete …

• Modulate Modulate ccxx c cyy c czz to to texturetexture the flowthe flow

ControlControl

without with

eexx

eeyyeezzoo ……

<cx cy cz>1..N

++

Page 35: Vortex Fluid Structure For Smoke Control

• directiondirection: : alignalign e ezz with tangent with tangent

• TargetsTargets::

• TwistingTwisting smoke: smoke: spin vortices around spin vortices around eezz

• Edit, delete …Edit, delete …

• Modulate Modulate ccxx c cyy c czz to to texturetexture the flowthe flow

ControlControl

without with

eexx

eeyyeezzoo ……

<cx cy cz>1..N

++

Page 36: Vortex Fluid Structure For Smoke Control

How to controlHow to control

• One cannot just translate the curves: One cannot just translate the curves: the smoke does not followthe smoke does not follow

eexx

eeyyeezz

oo

• Solution: Solution: paddlepaddle (servoing )(servoing ) ω

Page 37: Vortex Fluid Structure For Smoke Control

Video: controlVideo: control

Page 38: Vortex Fluid Structure For Smoke Control

• A A new representationnew representation of vortex curves of vortex curvesCompact, stable, controlable motion primitivesCompact, stable, controlable motion primitives

• Controls Controls of the motion primitivesof the motion primitives

• Fast ‘‘Fast ‘‘noisenoise’’ for fake turbulence details’’ for fake turbulence details

ContributionsContributions

Page 39: Vortex Fluid Structure For Smoke Control

[AN05]:[AN05]: noise = extra vortex particles noise = extra vortex particles advected in the flow, no stretchadvected in the flow, no stretch• Costly (needs a lot)Costly (needs a lot)• Source, samplingSource, sampling

Tiled vortex noise:Tiled vortex noise:noise layer =noise layer =• separate simulation, in toroidal spaceseparate simulation, in toroidal space• Tiled in spaceTiled in space• Additional evolving velocity fieldAdditional evolving velocity field

Noise: fake turbulence detailsNoise: fake turbulence details

Page 40: Vortex Fluid Structure For Smoke Control

[AN05]:[AN05]: noise = extra vortex particles noise = extra vortex particles advected in the flow, no stretchadvected in the flow, no stretch• Costly (needs a lot)Costly (needs a lot)• Source, samplingSource, sampling

Tiled vortex noise:Tiled vortex noise:noise layer =noise layer =• separate simulation, in toroidal spaceseparate simulation, in toroidal space• Tiled in spaceTiled in space• Additional evolving velocity fieldAdditional evolving velocity field

Noise: fake turbulence detailsNoise: fake turbulence details

Page 41: Vortex Fluid Structure For Smoke Control

[AN05]:[AN05]: noise = extra vortex particles noise = extra vortex particles advected in the flow, no stretchadvected in the flow, no stretch• Costly (needs a lot)Costly (needs a lot)• Source, samplingSource, sampling

Tiled vortex noise:Tiled vortex noise:noise layer =noise layer =• separate simulation, in toroidal spaceseparate simulation, in toroidal space• Tiled in spaceTiled in space• Additional evolving velocity fieldAdditional evolving velocity field

Noise: fake turbulence detailsNoise: fake turbulence details

Page 42: Vortex Fluid Structure For Smoke Control

Video: noiseVideo: noise

Page 43: Vortex Fluid Structure For Smoke Control

• A A new representationnew representation of vortex curves of vortex curvesCompact, stable, controlable motion primitivesCompact, stable, controlable motion primitives

• Controls Controls of the motion primitivesof the motion primitives

• Fast ‘‘Fast ‘‘noisenoise’’ for fake turbulence details’’ for fake turbulence details

• Velocity cache, renderingVelocity cache, rendering

ContributionsContributions

Page 44: Vortex Fluid Structure For Smoke Control

Octree cacheOctree cache

• Velocity computed at Velocity computed at every every smoke particlesmoke particle & & every every vorticity curve samplevorticity curve sample

• Velocity computed at Velocity computed at octree leavesoctree leaves + + inbetween interpolationinbetween interpolation

Page 45: Vortex Fluid Structure For Smoke Control

Octree cacheOctree cache

• Velocity computed at Velocity computed at every every smoke particlesmoke particle & & every every vorticity curve samplevorticity curve sample

• Velocity computed at Velocity computed at octree leavesoctree leaves + + inbetween interpolationinbetween interpolation

Page 46: Vortex Fluid Structure For Smoke Control

RenderingRendering• Thick smoke: plain particlesThick smoke: plain particles• Thin smoke: adaptive particlesThin smoke: adaptive particles [AN05][AN05]

– accumulate stretchingaccumulate stretching

01nTOT JJJJ ...

Page 47: Vortex Fluid Structure For Smoke Control

RenderingRendering• Thin smoke behaves like a surfaceThin smoke behaves like a surface

[ William Brennan ][ William Brennan ]

ee

nnll

eJJn 1T

Page 48: Vortex Fluid Structure For Smoke Control

Results - videoResults - video

fpsfps Forest fire Genie&lamp Walkthrough Fly Forest fire Genie&lamp Walkthrough Fly Modeler qualityModeler quality 55 12 12 5 18 5 18Final rendering qualityFinal rendering quality 0.540.54 0.2 1. 0.2 1. 0.37 0.37

Page 49: Vortex Fluid Structure For Smoke Control

Vorticity filaments:Vorticity filaments:• Compact, high-res, fastCompact, high-res, fast• Good handles to manipulate a fluidGood handles to manipulate a fluid• Can be manipulated Can be manipulated interactivelyinteractively or or postpost--

Future work:Future work:• Split/mergeSplit/merge• High-quality collisionsHigh-quality collisions• 2-phase, buoyancy, …2-phase, buoyancy, …

ConclusionConclusion

Coupling with gridsCoupling with grids

Page 50: Vortex Fluid Structure For Smoke Control

Thanks!Thanks!

Page 51: Vortex Fluid Structure For Smoke Control

Video: collisionsVideo: collisions

Page 52: Vortex Fluid Structure For Smoke Control

Video: thicknessVideo: thickness

Page 53: Vortex Fluid Structure For Smoke Control

RenderingRendering• Thin smoke behaves like a surfaceThin smoke behaves like a surface

eJJn 1T Diffuse offDiffuse off Diffuse onDiffuse on

ee

nnll

Page 54: Vortex Fluid Structure For Smoke Control

RenderingRendering• Thin smoke behaves like a surfaceThin smoke behaves like a surface

Page 55: Vortex Fluid Structure For Smoke Control

Lagrangian primitivesLagrangian primitives

• Curves carry the Curves carry the vorticityvorticity

• Each Each vortexvortex induces a weighted rotation induces a weighted rotation

Effect of one vortex on aEffect of one vortex on ashape :shape :

dlxpxp

34

)(ωv

dx

xpxp

34)(

ωv

Page 56: Vortex Fluid Structure For Smoke Control

Control currentsControl currents

• Without controlWithout control • With controlWith control

LL

eezz

LL

Page 57: Vortex Fluid Structure For Smoke Control

CheckpointCheckpoint• With controlWith control