prepare video!!!. simulation of smoke based on vortex filament primitives alexis angelidis graphics...

32
Prepare Prepare video!!! video!!!

Upload: annice-cummings

Post on 26-Dec-2015

221 views

Category:

Documents


2 download

TRANSCRIPT

Prepare video!!!Prepare video!!!

Simulation of SmokeSimulation of Smokebased on based on

Vortex Filament PrimitivesVortex Filament PrimitivesAlexis AngelidisAlexis Angelidis

Graphics & Vision Research LabGraphics & Vision Research Lab

Otago - New ZealandOtago - New Zealand

Fabrice NeyretFabrice NeyretGRAVIR / IMAG - INRIAGRAVIR / IMAG - INRIA

Grenoble - FranceGrenoble - France

Tangled-SpaghettisTangled-SpaghettisAlexis AngelidisAlexis Angelidis

Graphics & Vision Research LabGraphics & Vision Research Lab

Otago - New ZealandOtago - New Zealand

Fabrice NeyretFabrice NeyretGRAVIR / IMAG - INRIAGRAVIR / IMAG - INRIA

Grenoble - FranceGrenoble - France

BackgroundBackgroundBackgroundBackgroundFluid animation approaches: Fluid animation approaches: Lagrangian vs EulerianLagrangian vs Eulerian

Popular: Eulerian velocity gridPopular: Eulerian velocity grid

Fluid animation approaches: Fluid animation approaches: Lagrangian vs EulerianLagrangian vs Eulerian

BackgroundBackgroundBackgroundBackground

[McNamara et al.04][McNamara et al.04] [Fattal et al.04][Fattal et al.04][Fedkiw et al.01][Fedkiw et al.01] [Pighin et al.04][Pighin et al.04]

A.A. Velocity grid Velocity grid B.B. Update rules Update rules

ijkv

0

1

)( 2

v

gvvvv

p

t

0

1

)( 2

v

gvvvv

p

t

Fluid animation approaches: Fluid animation approaches: Lagrangian vs EulerianLagrangian vs Eulerian

Popular: Eulerian velocity gridPopular: Eulerian velocity grid

BackgroundBackgroundBackgroundBackground

[McNamara et al.04][McNamara et al.04] [Fattal et al.04][Fattal et al.04][Fedkiw et al.01][Fedkiw et al.01] [Pighin et al.04][Pighin et al.04]

One Alternative – Vortex MethodsOne Alternative – Vortex Methodsvelocityvelocity vs. vorticityvs. vorticity

One Alternative – Vortex MethodsOne Alternative – Vortex Methodsvelocityvelocity vs. vorticityvs. vorticity

vω vω CurlCurl

vorticity vorticity vorticity vorticity velocity vvelocity vvelocity vvelocity v

vωω

)( dt

dvω

ω)(

dt

d

0

1)(

v

vvv

pt

0

1)(

v

vvv

pt

One Alternative – Vortex MethodsOne Alternative – Vortex Methodsvelocityvelocity vs. vorticityvs. vorticity

One Alternative – Vortex MethodsOne Alternative – Vortex Methodsvelocityvelocity vs. vorticityvs. vorticity

vω vω CurlCurl

vorticity vorticity vorticity vorticity velocity vvelocity vvelocity vvelocity v

vωω

)( dt

dvω

ω)(

dt

d

vv

0

1)(

v

vvv

pt

0

1)(

v

vvv

pt

One Alternative – Vortex MethodsOne Alternative – Vortex Methodsvelocityvelocity vs. vorticityvs. vorticity

One Alternative – Vortex MethodsOne Alternative – Vortex Methodsvelocityvelocity vs. vorticityvs. vorticity

vω vω

dx

xp

xpv 3

4

)(

dx

xp

xpv 3

4

)(

CurlCurl

vorticity vorticity vorticity vorticity velocity vvelocity vvelocity vvelocity v

vωω

)( dt

dvω

ω)(

dt

d

0

1)(

v

vvv

pt

0

1)(

v

vvv

pt

BIOT-SAVARTBIOT-SAVART

One Alternative – Vortex MethodsOne Alternative – Vortex MethodsOne Alternative – Vortex MethodsOne Alternative – Vortex Methods

What’s induced by these curves?What’s induced by these curves?What’s induced by these curves?What’s induced by these curves?

dxxp

xpv

3

4

)(

dxxp

xpv

3

4

)(

BIOT-SAVARTBIOT-SAVART

Fluid described with curvesFluid described with curvesFluid described with curvesFluid described with curves

Fine simulationsFine simulations• FilamentsFilaments• FeaturesFeatures

dxv

dxv

BIOT-SAVARTBIOT-SAVART

Geometric InterpretationGeometric InterpretationGeometric InterpretationGeometric Interpretation

34

)(

xp

xp

34

)(

xp

xp

dxv

dxv

BIOT-SAVARTBIOT-SAVART

)()(

xppfVORTEX

)()(

xppfVORTEX

VortexVortex

Geometric InterpretationGeometric InterpretationGeometric InterpretationGeometric Interpretation

34 xp 34 xp

34

)(

xp

xp

34

)(

xp

xp

34

1

xp 34

1

xp

dxv

dxv

BIOT-SAVARTBIOT-SAVART

)()(

xppfVORTEX

)()(

xppfVORTEX

VortexVortex

Rotation magnitudeRotation magnitude

Geometric InterpretationGeometric InterpretationGeometric InterpretationGeometric Interpretation

34 xp 34 xp

34

)(

xp

xp

34

)(

xp

xp

Lagrangian Vortex MethodsLagrangian Vortex MethodsLagrangian Vortex MethodsLagrangian Vortex Methods

CC00

CC22

CC33

• Entire fluid = curves of vortices !Entire fluid = curves of vortices !

DynamicsDynamics

• Curves induce movement Curves induce movement

• Curves are animated with this movementCurves are animated with this movement

CC11

ConsequenceConsequence• Cheap storageCheap storage• Dynamic-keyframed curveDynamic-keyframed curve

VideoVideo#2-5#2-5

VideoVideo#2-5#2-5

dxv

dxv

BIOT-SAVARTBIOT-SAVART

Geometric InterpretationGeometric InterpretationGeometric InterpretationGeometric Interpretation

34

)(

xp

xp

34

)(

xp

xp

• EfficiencyEfficiency• stable vortex + noisestable vortex + noise• closed-form integralclosed-form integral• O(O(NN22)), accelerated with LOD, accelerated with LOD• time integrationtime integration

• Define smoke particlesDefine smoke particles

ContributionsContributionsContributionsContributions

Sum of vortices along curvesSum of vortices along curvesSum of vortices along curvesSum of vortices along curvesA more convenient amplitudeA more convenient amplitude

Biot-SavartBiot-Savart CauchyCauchy

There are There are closed-formsclosed-forms for the Cauchy kernel for the Cauchy kernel integral along a integral along a circlecircle and a and a segmentsegment

3 4

1

d 3 4

1

d )/1(

122 rd )/1(

122 rd

Discrete segmentsDiscrete segments

[MS.98][MS.98]

Large time steps: high order schemeLarge time steps: high order schemeLarge time steps: high order schemeLarge time steps: high order scheme

• Traditional forward Euler , BSTraditional forward Euler , BStrajectory = sum of velocities of rotationtrajectory = sum of velocities of rotation

• Biot-Savart tells more than velocityBiot-Savart tells more than velocity

• Our schemeOur schemetrajectory = sum of Rotationtrajectory = sum of Rotation

Levels of detailLevels of detailLevels of detailLevels of detail

• We define a bound to the error We define a bound to the error between a segment and split segmentsbetween a segment and split segments

• We precompute a binary tree for each filamentWe precompute a binary tree for each filament

Too detailedToo detailed Too coarseToo coarseAlrightAlright

ppqq

pp

ijkLODijkLOD

• 3 types of noise vortices :3 types of noise vortices :– Tangent vortexTangent vortex

– Normal vortexNormal vortex

– Binormal vortexBinormal vortex

Divergence-free NoiseDivergence-free NoiseDivergence-free NoiseDivergence-free Noise

tt J' tt J'

nn 1 ' JT nn 1 ' JT

)()(' 1 ntb JJ T )()(' 1 ntb JJ T

Good distribution Good distribution of directionsof directions

Noise

FilamentsSmoke

SmokeSmokeSmokeSmoke• ParticlesParticles

– accumulate deformationaccumulate deformation– split when accumulated deformation too bigsplit when accumulated deformation too big

• Rendering Rendering – 2D ellipses2D ellipses– Self-shadowingSelf-shadowing

VideoVideoVideoVideo

• Filaments induce movement (everywhere)Filaments induce movement (everywhere)

• Filaments are animated with the movementFilaments are animated with the movement

• Smoke-particles are animated with LOD- Smoke-particles are animated with LOD- filaments and divergence-free noisefilaments and divergence-free noise

Smoke solver overviewSmoke solver overviewSmoke solver overviewSmoke solver overview

ImprovementsImprovementsImprovementsImprovements

• Smoke particle mergingSmoke particle merging

• Curve split/collapse or resamplingCurve split/collapse or resampling

• Currently, limited boundary conditionsCurrently, limited boundary conditions

ConclusionConclusionConclusionConclusion• Separated dynamics & renderingSeparated dynamics & rendering

• Efficient & hi-resolutionEfficient & hi-resolution

• Not bounded in spaceNot bounded in space

• Compact: easy to load and saveCompact: easy to load and save

• Dynamics or keyframesDynamics or keyframes

THANK YOUQuestions ?THANK YOUQuestions ?

A new integration schemeA new integration schemeA new integration schemeA new integration scheme

• Traditional forward EulerTraditional forward Eulerptpvtpp '

pv

• With our closed form, induced velocity is With our closed form, induced velocity is given by a 4x4 matrixgiven by a 4x4 matrix

• Our schemeOur scheme... ) exp(' ptpptp

a translation is a translationa translation is a translationa rotation is a rotationa rotation is a rotationa twista twist is a twistis a twist

M

M

M M

Simple rotation algebraSimple rotation algebraSimple rotation algebraSimple rotation algebra

• Rotation of center c around axis Rotation of center c around axis of angle of anglegiven by the magnitude of given by the magnitude of

0000

0

0

0

logxyzxxy

zxyzxz

yzxyyz

cc

cc

cc

R

cR ,log

MotivationMotivationMotivationMotivation

A fluid is A fluid is not an actornot an actor

Existing fluid-directing techniques areExisting fluid-directing techniques areslowslow OR OR tedioustedious

A technique for keyframing fluid animationA technique for keyframing fluid animation• Not boundedNot bounded in a cube in a cube

• Predictable fluid-editing Predictable fluid-editing primitivesprimitives

• FastFast//RobustRobust

AimAimAimAim

One Alternative – Vortex MethodsOne Alternative – Vortex Methodsvelocityvelocity vs. vorticityvs. vorticity

One Alternative – Vortex MethodsOne Alternative – Vortex Methodsvelocityvelocity vs. vorticityvs. vorticity

dx

xp

xpv 3

4

)(

CurlCurl

vorticity vorticity vorticity vorticity

Biot-SavartBiot-Savart

velocity vvelocity vvelocity vvelocity v

vωω

)( dt

d

To get the motion: computeTo get the motion: compute velocity from vorticityvelocity from vorticity

pt

1)(

0

vvv

v

What does the Biot-Savart Law mean?What does the Biot-Savart Law mean?What does the Biot-Savart Law mean?What does the Biot-Savart Law mean?

34

1)(

xpxpBS

34

)()(

xp

xppfVORTEX

BIOT-SAVARTBIOT-SAVART

VortexVortex

Rotation magnitudeRotation magnitudevortexvortex

dx

xp

xpv 3

4

)(

vorticesvortices

The domain of the BS integralThe domain of the BS integralThe domain of the BS integralThe domain of the BS integral

CC

C

C dxxp

xpv 3

4

)(

2.2. Integral over a curveIntegral over a curve of a slice :of a slice :

3. Integral on many curves3. Integral on many curves

iCTOTAL vv

In 3D, vortices concentrate along In 3D, vortices concentrate along tubestubes(with a distribution profile around axis)(with a distribution profile around axis)

CC11

1.1. Integral over a slice of vortices :Integral over a slice of vortices :

change