Computer Animation Algorithms and Techniques Fluids Rick Parent Computer Animation
Superficial models v. Deep models (comes up throughout graphics, but particularly relevant here) OR Directly model visible properties Model underlying processes that produce the visible properties Water waves Wrinkles in skin and cloth Hair as a single flex object Clouds as implicit surfaces Computational Fluid Dynamics Cloth weave Physical properties of a strand of hair Rick Parent Computer Animation
Superficial Models for Water Water is complex Changes shape Changes topology Governed by fluid dynamics Model specific features Still waters Small amplitude waves Ocean waves Running downhill Rick Parent Computer Animation
Simple Wave Model - Sinusoidal Distance-amplitude Rick Parent Computer Animation
Simple Wave Time-amplitude at a location Rick Parent Computer Animation
Simple Wave Rick Parent Computer Animation
Simple Wave Rick Parent Computer Animation
Sum of Sinusoidals Rick Parent Computer Animation
Normal vector perturbation Sum of Sinusoidals Height field Normal vector perturbation Rick Parent Computer Animation
Ocean Waves Darwyn R. Peachey, “Modeling waves and surf”, SIGGRAPH '86. s – distance from source t – time A – maximum amplitude C – propogation speed L – wavelength T – period of wave Rick Parent Computer Animation
Movement of a particle In idealized wave, no transport of water L – wavelength A - amplitude of wave H – twice the amplitude C – propagation speed T – period of wave S – steepness of the wave Q – average orbital speed Rick Parent Computer Animation
Breaking waves If Q exceeds C => breaking wave If non-breaking wave, steepness is limited Observed steepness (S) between 0.5 and 1.0 Rick Parent Computer Animation
Airy model of waves Relates depth of water, propagation speed and wavelength g - gravity As depth increases, C approaches As depth decreases, C approaches Rick Parent Computer Animation
Implication of depth on waves approaching beach at an angle Wave tends to straighten out – closer sections slow down Rick Parent Computer Animation
Wave in shallow water propogation speed, C, and wavelength, L, are reduced period of wave, T, remains the same amplitude, A (H), remains the same or increase orbital speed, Q, remains the same Waves break Rick Parent Computer Animation
Model for Transport ofWater h – water surface b – ground v – water velocity Rick Parent Computer Animation
Model for Transport ofWater Relates: Acceleration Difference in adjacent velocities Acceleration due to gravity Rick Parent Computer Animation
Model for Transport ofWater d = h(x) – b(x) Relates: Temporal change in the height Spatial change in amount of water Rick Parent Computer Animation
Model for Transport ofWater Small fluid velocity Slowly varying depth Use finite differences to model - see book Rick Parent Computer Animation
Models for Clouds Basic cloud types Physics of clouds Visual characteristics, rendering issues Early approaches Volumetric cloud modeling Rick Parent Computer Animation
Clouds Backdrop - static or slow moving, 2D Distant - 2 1/2 D, relative movement, opaque Close - 3D, translucent, amorphous Immersion - 3D, transparent, ethereal, misty, foggy Sets mood - ominous to playful Rick Parent Computer Animation
Cloud Formation air at certain temperature can hold certain amount of moisture formed when moisture content approaches moisture limit increase moisture content decrease temperature Example forces of formation Air mass is lifted and cooled as result (front, mountains) Ground water evaporates Air mass travels over something cold (e.g. water) Rick Parent Computer Animation
Basic Cloud Terms Altitude Cirrus/cirro - high (alone, means ‘fibrous’) Altus/alto - middle level Shape Cumulus/cumulo - puffy Stratus/strato - layers, sheet Moisture Nimbus/nimbo - water bearing Rick Parent Computer Animation
Cloud Formation Transpiration, evaporation Condensation Precipitation and loop ... Rick Parent Computer Animation
Visual characteristics 3D Amorphous Turbulent Complex shading Semi-transparent Self-shadowing Reflective (albedo) Rick Parent Computer Animation
Approaches to Clouds Particle systems - but massive amount of particles needed for any significant cloud mass Volumetric representation - possible, but computationally expensive and must pre-determine extent of cloud to descretize space Implicit functions - partitions clouds into semi-transparent pieces; can animate independently Rick Parent Computer Animation
Early Approach - Gardner Early flight simulator research Static model for the most part Sum of overlaping semi-transparent hollow ellipsoids Taper transparency from edges to center See Gardner’s paper from SIGGRAPH 1985 Rick Parent Computer Animation
Dave Ebert Rick Parent Computer Animation
Models for Fire Procedural 2D Particle system Ad hoc approaches Rick Parent Computer Animation
Models for Fire - 2D Rick Parent Computer Animation
Models for Fire - particle system Derived from Reeves’ paper on particle systems Rick Parent Computer Animation
Particle System Fire Rick Parent Computer Animation
Flames for film production Arnauld Lamorlette, Nick Foster, Structural modeling of flames for a production environment, Siggraph 02 (PDI/DreamWorks ) Rick Parent Computer Animation
Computational Fluid Dynamics (CFD) Fluid - a substance, as a liquid or gas, that is capable of flowing and that changes its shape at a steady rate when acted upon by a force. Rick Parent Computer Animation
CFD - terms Compressible – changeable density Steady state flow – motion attributes are constant at a point Viscosity – resistance to flow Newtonian Fluid has linear stresss-strain rate Vortices – circular swirls Rick Parent Computer Animation
General Approaches Grid-based Particle-based method Hybrid method Rick Parent Computer Animation
CFD equations mass is conserved momentum is conserved energy is conserved Usually not modeled in computer animation To solve: discretize cells discretize equations solve iteratively by numerical methods Rick Parent Computer Animation
CFD Rick Parent Computer Animation
Conservation of mass (2D) vx A Small control volume: Δx by Δy A = Δx * Δy vy Mass inside: Pressure gradient is proportional to both velocity and velocity gradient (and density) Time rate of mass change in volume Rick Parent Computer Animation
Conservation of mass (2D) vx A A = Δx * Δy vy Amount of mass entering from left: Time rate of mass change in volume = difference in rate of mass entering and rate of mass exiting Pressure gradient is proportional to both velocity and velocity gradient (and density) Difference between left and right: Rick Parent Computer Animation
Conservation of mass (2D) vx vy Divergence operator: Pressure gradient is proportional to both velocity and velocity gradient (and density) If incompressible Rick Parent Computer Animation
Conservation of momentum Momentum in CV changes as the result of: Mass flowing in and out Collisions of adjacent fluid (pressure) Pressure gradient is proportional to both velocity and velocity gradient (and density) Random interchange of fluid at boundary Rick Parent Computer Animation
Conservation of momentum in 2D Rate of change of vx-momentum vx-Momentum entering: Difference of x-momentum in x: Pressure gradient is proportional to both velocity and velocity gradient (and density) Difference of x-momentum in y: Pressure difference in x : Rick Parent Computer Animation
Conservation of momentum in 2D Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation
Conservation of momentum (3D) x direction y direction z direction Material derivative Rick Parent Computer Animation
Navier-Stokes (for graphics) Rick Parent Computer Animation
Viscosity, etc. Hooke’s law: in solid, stress is proportional to strain Fluid continuously deforms under an applied shear stress Newtonian fluid: stress is linearly proportional to time rate of strain h V Water, air are Newtonian; blood in non-Newtonian Rick Parent Computer Animation
Stokes Relations Extended Newtonian idea to multi-dimensional flows Rick Parent Computer Animation
Stokes Hypothesis Choose λ so that normal stresses sum to zero Rick Parent Computer Animation
Conservation of momentum with viscosity Rick Parent Computer Animation
Incompressible, Steady 2-D flow Density is a constant Steady state so time derivatives disappear Kinematic viscosity Rick Parent Computer Animation
2D Euler Equations – no viscosity If incompressible Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation
2D Equations review Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation
Smooth Particle Hydrodynamics (SPH) Track particles - globs of fluid - through space Each particle represents a density distribution of fluid Pressure gradient is proportional to both velocity and velocity gradient (and density) Inspect space for fluid/non-fluid interface Rick Parent Computer Animation
SPH property s() at location r computed by weighted average of property at particle: mj - mass of particle j rj - location of particle j sj - value of property of particle j pj - density of property of particle j Wh(r-rj) - kernel function Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation
SPH compute gradient and Laplacian at location r: Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation
SPH compute density at location r: Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation
SPH compute forces: Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation
SPH General purpose kernel: Kernel to avoid zero gradient at center Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation
SPH Kernel for viscosity: corresponding Laplacian: Pressure gradient is proportional to both velocity and velocity gradient (and density) Rick Parent Computer Animation