1 / 24

Fluid Animation

Fluid Animation. CSE 3541 Matt Boggus. Overview. Procedural approximations Heightfield fluids Mathematical background Navier -Stokes equation Computational models for representing fluids Grids Particles Hybrid Using the computational models Forces “Stable fluids” by Stam.

Télécharger la présentation

Fluid Animation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fluid Animation CSE 3541 Matt Boggus

  2. Overview • Procedural approximations • Heightfieldfluids • Mathematical background • Navier-Stokes equation • Computational models for representing fluids • Grids • Particles • Hybrid • Using the computational models • Forces • “Stable fluids” by Stam

  3. Real-time Fluids • Goals: • Cheap to compute • Low memory consumption • Stability • Plausibility • Interactivity

  4. Real-time Fluids • Procedural water • Unbounded surfaces, oceans • Particle systems • Splashing, spray, puddles, smoke, bubbles, rain • Heightfield fluids • Ponds, lakes, rivers

  5. Heightfield fluid • Function u(x,y) gives height at (x,y) • Store height values in an array u[x,y] • Note: limited to one height per (x,y)

  6. Heightfield or Heightmap terrain data 2D greyscale image Surface in 3D space Images from http://en.wikipedia.org/wiki/Heightmap

  7. Can this wave be represented using a heightfield?A – trueB – false

  8. Setting and updating heightfield fluids • Methods • Sum of sines • Add multiple sin functions together • Pressure or height differences between cells • Collision detection and displacement • Additional considerations • When updating, a second heightfield may be used to preserve the values from the previous frame • Handle boundary cases differently

  9. Pressure/Height differences Initialize u[i,j] with some interesting function Initialzev[i,j]=0 loop v[i,j] +=(u[i-1,j] + u[i+1,j] + u[i,j-1] + u[i,j+1])/4 – u[i,j] v[i,j] *= 0.99 u[i,j] += v[i,j] endloop

  10. Heightfield mesh creation and cell iteration u[x,y] ; dimensions n by n

  11. Heightfield mesh creation and cell iteration Quad[i,j] such that i = 0, j = 0; Vertices are U[0,0], U[1,0], U[1,1], U[0,1] U[i,j], U[i+1,j], U[i+1,j+1], U[i,j+1]

  12. Heightfield mesh creation and cell iteration Inner loop iterates over i, the x coordinate Last quad: i=5 (i = n-1)

  13. Heightfield mesh creation and cell iteration Outer loop iterates over j, the y coordinate Last row: j=5 (j = n-1)

  14. Smoothing • For every grid cell u[i,j], set it to average of itself and neighbors • Implementation concerns: • A. looping order • B. boundary cases • C. both • D. none

  15. Heightfield mesh particle collection Step 1. Zero out all u[i,j] Step 2. For each u[i,j], determine which particles are closet to it (bounding box collision test) Alternative Step 2. For each particle, determine which (i,j) it is closest to (translate position half a cell, then floor it)

  16. Navier-Stokes Equation • Momentum equation • Incompressibility ut = k2u –(u)u – p + f Change in velocity Diffusion/ Viscosity Advection Pressure Body Forces u: the velocity field u=0 k: kinematic viscosity

  17. d d d d d d d d d d d d d d d d Fluid Models Grid-based (Eulerian) d is density Particle-based (Lagrangian) Hybrid Animate the particles “Collect” particles to compute density

  18. Fluid particle forces • Adhesion forces : attract particles to each other and to other objects • Viscosity forces : limit shear movement of particles in the liquid • Friction forces: dampen movement of particles in contact with objects

  19. Adhesion Force Attract particles to each other and to other objects (similar to gravitational force) The adhesion force between (left) honey-honey, (middle) honey-ceramic and (right) non-mixing liquid

  20. Viscosity Force • Limit shear movement of particles in the liquid • The momentum between the neighbour particles are exchanged Pp Ppn

  21. Friction Force • Dampen movement of particles in contact with objects in the environment • Scale down the velocity by a constant value

  22. Case Study: A 2D Fluid Simulator • Incompressible, viscous fluid • Assuming the gravity is the only external force • No inflow or outflow • Constant viscosity, constant density everywhere in the fluid

  23. Stable Fluids – overview of data Velocity grid Density grid Move densities around using velocity grid and dissipate densities Move velocities around using velocity grid and dissipate velocities Walkthrough: http://www.dgp.utoronto.ca/~stam/reality/Talks/FluidsTalk/FluidsTalkNotes.pdf Source code: http://www.autodeskresearch.com/publications/games

  24. Additional readings • Fluid Simulation for Computer Animation • The original stable fluids paper • An update to the stable fluids work • Fast Water Simulation for Games Using Height Fields

More Related