You are on page 1of 23

Realistic Animation of Liquids

Realistic Animation of Liquids

- Unify existing computer graphics techniques - Extends more complex behavior

Previous techniques
- Not possible reflection, refraction, diffraction, rotational effects (eddies, vorticity, splashing)

- Non physics-based Approximation -> Kass,Miller -> Chen,Lobo

- Reason of Failure : In both case, Only Surface, Not Pressure

- Impossible submerged obstacles

- Lack of control

Paper's Aims

- Realism : NavierStokes equation - Usability : Not special case, Attention on surface - Controlling : Inflow, outflow, Pressure not natural way


-NavierStokes equation -Liquid free surface -Height field equation -Lagrange equations of motion : bouyant object -Methods for control -Examples


NS EQUATIONS : Discretization

Location of staggered velocity components on a typical cell (i,j,k)

Continuity Equation - Correctness

Continuity Equation

Pressure Correction

Continuity Equation - Correctness(2)

Update Velocity

Update Pressure

Boundary Equations

Stationary obstacle u0 = 0

nonslip obstacle : w0 = - w1 Free-slip obstacle : w0 = w1

Inflow & Outflow Inflow : Required velocity Outflow : v in adjacent cell Free Surface

Tracking Fluid Position

smooth and accurate representation adjust contents of mesh over time higher than mesh resolution 1. Marker Particles 2. Free Surface Particles 3. Height Field

Tracking Fluid Position Marker Particles

Add particle at inflow boundary Area Weighing interpolation Cell configuration - No Particle : Empty - Particle & Adjacent Empty : Surface - Full

Tracking Fluid Position Marker Particles

Example : Frames from two-dimensional animations making use of marker particles. A jet of water splashes into a concrete tank (a)(d).

Tracking Fluid Position Free Surface Particles

Every fluid cell -> boundary between fluid and obstacle or air

Surface must be continuous : Removing & Adding particle

Cell configuration : Region Growing algorithms

Tracking Fluid Position Height field

Puddle, river, ocean : No complex geometry Each Vertical column of Cell : Has Surface Height(Defined along Y axis)

Cell configuration : Set Empty, Surface and Full according to Cell Height

Sometimes Combined with Marker Particles

Discretization : Rigid dynamic object -> Set of nodes n_i Force acting on the node

Generalized Lagrange equation of Motion

f_q : total force & torque g_q : coriolis & centrifugal force There are Assumptions or Limits

q : degree of freedom

Summary of the Navier-Stokes Algorithms

1. Define obstacle and starting fluid configuration, and place dynamic object 2. Set initial pressure and velocity conditions 3. Determine cell contents depending on the method used to track the surface 4. Set up boundary conditions for the free surface and obstacle cells 5. Compute for all Full cells

6. Perform the pressure iteration for all Full cell 7. Recalulate boundary velocities for Surface cells 8. Update the position of the surface and objects. 9. Go to step 3

Methods for controlling the fluid surface 1. Inflow and Outflow velocities : eg. broken dam 2. Surface Pressure History Natural way (Pressure to Surface) : eg. wind effect In two dimensions, interesting wave can be developed using the forcing function


Case : Geometry is rotationally symmetric

Moon night cove