1 / 47

Animation of Fluids

Learn about the challenges of animating fluid, the physics-based approach, and the current state-of-the-art methods in computer graphics. Explore applications in movies, games, and engineering.

lockettd
Télécharger la présentation

Animation of Fluids

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. Animation of Fluids

  2. Animating Fluid is Hard… • Too complex to animate by hand • Surface is changing very quickly • Lots of small details • In short, a nightmare! • Need automaticsimulations…

  3. Ad-Hoc Methods • Some simple algorithmsexist for special cases • Mostly waves… • What about water glass? • Too much work to comeup with empirical algorithmsfor each case…

  4. Physically-Based Approach • Look to Fluid Dynamics • Long history. Back to Newton… • Equations that describe fluid motion • Use numerical methods to approximate fluid equations, simulating fluid motion • Like mass-spring systems

  5. Current State-of-the-art in CG • Marker-And-Cell (MAC) Method • fedkiw_fluid\glass00.avi • fedkiw_fluid\splash-640.avi • Smoothed Particle Hydrodynamics (SPH) • muller_particles\sph.avi • muller_particles\pool.avi

  6. Applications • Mostly Hollywood • Shrek • Antz • Terminator 3 • Many others… • Games • Engineering…

  7. Fluid Dynamics (with as little math as possible)

  8. What do we mean by ‘Fluid’? • liquids or gasses • Mathematically: • A vector field u (represents the fluid velocity) • A scalar field p (represents the fluid pressure) • fluid density (d) and fluid viscosity (v)

  9. Vector Fields • 2D Scalar function: • f(x,y) = z • z is a scalar value • 2D Vector function: • u(x,y) = v • v is a vector value • v = (x’, y’) • The set of valuesu(x,y) = v is called avector field

  10. Fluid Velocity == Vector Field • Can model a fluid as a vector field u(x,y) • u is the velocity of the fluid at (x,y) • Velocity is different at each point in fluid! • Need to compute change in vector field

  11. Conceptual Leap • Particle Simulation: • Track particle positionsx = (x,y) • Numerically Integrate: change in position • Fluid Simulation : • Track fluid velocitiesu = (u,v) atall pointsx in some fluid volume D • Numerically Integrate: change in velocity

  12. Equations of Fluid Dynamics • Navier-Stokes Equation: • Non-linear Partial Differential Equation • Models fluid transport • Derived from Newton’s second law • conservation of momentum – all the forces go “somewhere” • Mass-Conservation condition: • If we have a liter of water at the beginning of the solution, we have a liter at the end…

  13. Change in Velocity • Derivative of velocity with respect to time • Change in velocity, or acceleration • So this equation models acceleration of fluids

  14. Change inVelocity Advection Term • Advection term • Force exerted on a particleof fluid by the other particlesof fluid surrounding it • How the fluid “pushes itself around”

  15. Particle AdvectionVideo

  16. Change inVelocity Advection Diffusion Term • Viscosity constant controls velocity diffusion • Essentially, this term describes how fluid motion is damped • Highly viscous fluids stick together • Like maple syrup • Low-viscosity fluids flow freely • Gasses have low viscosity

  17. Weather: Advection & Diffusion • “Jet-Stream”

  18. Change inVelocity Advection Diffusion p = 0 p = 1 p = 0.5 Pressure Term • Pressure follows a diffusion process • Fluid moves from high-pressureareas to low-pressure areas • Moving == velocity • So fluid moves in direction oflargest change in pressure • This direction is the gradient Time…

  19. Weather: Pressure • “Fronts” are the boundaries between regions of air with different pressure… • “High Pressure Zones” will diffuse into “Low Pressure Zones”

  20. Fluid Example • Fast moving fluid is “pulled” towards slower-moving fluid

  21. Change inVelocity Advection Diffusion Pressure Body Force • Body force term represents external forces that act on the fluid • Gravity • Wind • Etc…

  22. Change inVelocity Advection Diffusion Pressure Summary • And 1 liter == 1 liter constraint: • Need to simulate these equations…

  23. Intermission • Smoke • fedkiw_octree\smoke_octree.avi • Fire • fedkiw_fire\flammable.avi

  24. Implementation Overview

  25. Fluid Representation • Want to simulate motion of some fluid body • fluid is represented by a vector field • Two problems: • Need to compute change invector field (using Navier-Stokes equation) • Need to track fluid position

  26. Solution: Discretization • Create regular grid

  27. Solution: Discretization • Create regular grid • Discretize fluid into grid cells

  28. Solution: Discretization • Create regular grid • Discretize fluid into grid cells • Track single velocityvector in eachgrid cell

  29. u 1 = - × Ñ + Ñ × Ñ - Ñ + ( u ) u ( v u ) p f ¶ t d Simulation Step • “Solve” Navier-Stokes equation for each grid cell to compute change in velocity: Body Force is just like mass-spring systems non-linear Advection term is difficult. Can finite-difference, but is not robust… finite-difference Diffusion and Pressure terms are linear systems of equations

  30. Free Surface Tracking with Marker Particles • Want higher-resolution surface for rendering • Add a bunch of particles • Passively Advect thembased on fluid velocity

  31. So the rest is easy, right? • No • Still have to enforce mass-conservation constaint: • Standard equation does not take boundary conditions into account • Boundary conditions are things like walls, fluid/air boundaries, rubber duckies, and so on • Have to ‘hack’ the equations…this is hard… • Numerical Stability is elusive…

  32. Intermission 2 • Melting • carlson_melting\bunnyside.mpg • Rigid Body + Fluid • carlson_rigidfluid\rigidfluid.avi

  33. Problems with Fluid Simulation

  34. Surface Resolution…

  35. Weird Behavior….

  36. Water or Vegetable Oil? • fedkiw_fluid\glass00.avi • Oh, and it’s very, very slow • 7 minutes per frame forwater glass…

  37. Hard to Control • Animators want to control fluid behavior • Fluid simulation has a lot of free variables • There has been limited success so far…

  38. Numerical Stability

  39. Maya Fluid Effects

  40. What does fluid effects support? • Naver-Stokes-based Fluids: • Smoke • Clouds • Explosions • Fire • “Goo” type-stuff • Ad-Hoc / Mass-Spring fluids: • Oceans • Ponds

  41. Fluid Effects Algorithms • Unconditionally Stable Navier-Stokes simulation • Means they never explode, even with large timesteps • Jos Stam, “Stable Fluids”, SIGGRAPH 99 • Do not preserve volume very well • Ok for smoke • Problematic for water glass… • Gets worse w/ larger timestep

  42. Maya Smoke • Smoke demo

  43. Maya Fire • Looks like smoke…

  44. More Fluid Effects Demos

  45. Maya Ocean • 2D height field – no crashing waves • Can attach ‘bouyant’ objects

  46. Maya Pond • 2D height field • No splashing • Mass-spring system • Bouys, Boats, Wakes • Can run in real-time

  47. Fin (questions?)

More Related