prepare video!!!

32
Prepare Prepare video!!! video!!!

Upload: teague

Post on 21-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Prepare video!!!. Alexis Angelidis Graphics & Vision Research Lab Otago - New Zealand. Fabrice Neyret GRAVIR / IMAG - INRIA Grenoble - France. Simulation of Smoke based on Vortex Filament Primitives. Alexis Angelidis Graphics & Vision Research Lab Otago - New Zealand. Fabrice Neyret - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Prepare video!!!

Prepare video!!!Prepare video!!!

Page 2: 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

Page 3: Prepare video!!!

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

Page 4: Prepare video!!!

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

Page 5: Prepare video!!!

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]

Page 6: Prepare video!!!

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]

Page 7: Prepare video!!!

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

Page 8: Prepare video!!!

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

Page 9: Prepare video!!!

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

Page 10: Prepare video!!!

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

Page 11: Prepare video!!!

dxv

dxv

BIOT-SAVARTBIOT-SAVART

Geometric InterpretationGeometric InterpretationGeometric InterpretationGeometric Interpretation

34

)(

xp

xp

34

)(

xp

xp

Page 12: Prepare video!!!

dxv

dxv

BIOT-SAVARTBIOT-SAVART

)()(

xppfVORTEX

)()(

xppfVORTEX

VortexVortex

Geometric InterpretationGeometric InterpretationGeometric InterpretationGeometric Interpretation

34 xp 34 xp

34

)(

xp

xp

34

)(

xp

xp

Page 13: Prepare video!!!

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

Page 14: Prepare video!!!

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

Page 15: Prepare video!!!

VideoVideo#2-5#2-5

VideoVideo#2-5#2-5

Page 16: Prepare video!!!

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

Page 17: Prepare video!!!

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]

Page 18: Prepare video!!!

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

Page 19: Prepare video!!!

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

Page 20: Prepare video!!!

• 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

Page 21: Prepare video!!!

SmokeSmokeSmokeSmoke• ParticlesParticles

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

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

Page 22: Prepare video!!!

VideoVideoVideoVideo

Page 23: Prepare video!!!

• 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

Page 24: Prepare video!!!

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

Page 25: Prepare video!!!

THANK YOUQuestions ?THANK YOUQuestions ?

Page 26: Prepare video!!!

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

Page 27: Prepare video!!!

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

Page 28: Prepare video!!!

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

Page 29: Prepare video!!!

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

Page 30: Prepare video!!!
Page 31: Prepare video!!!

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

Page 32: Prepare video!!!

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