Fluid animation refers to computer graphics techniques for generating realistic animations of fluids such as water and smoke.[1] Fluid animations are typically focused on emulating the qualitative visual behavior of a fluid, with less emphasis placed on rigorously correct physical results, although they often still rely on approximate solutions to the Euler equations or Navier–Stokes equations that govern real fluid physics. Fluid animation can be performed with different levels of complexity, ranging from time-consuming, high-quality animations for films, or visual effects, to simple and fast animations for real-time animations like computer games.[2]
Relationship to computational fluid dynamics
editFluid animation differs from computational fluid dynamics (CFD) in that fluid animation is used primarily for visual effects, whereas computational fluid dynamics is used to study the behavior of fluids in a scientifically rigorous way.
Development
editThe development of fluid animation techniques based on the Navier–Stokes equations began in 1996, when Nick Foster and Dimitris Metaxas[3] implemented solutions to 3D Navier-Stokes equations in a computer graphics context, basing their work on a scientific CFD paper by Harlow and Welch from 1965.[4] Up to that point, a variety of simpler methods had primarily been used, including ad-hoc particle systems,[5] lower dimensional techniques such as height fields,[6] and semi-random turbulent noise fields.[7]
In 1999, Jos Stam published the "Stable Fluids"[8] method, which exploited a semi-Lagrangian advection technique and implicit integration of viscosity to provide unconditionally stable behaviour. This allowed for much larger time steps and therefore faster simulations. This general technique was extended by Ronald Fedkiw and co-authors to handle more realistic smoke[9] and fire,[10] as well as complex 3D water simulations using variants of the level-set method.[11][12]
Some notable academic researchers in this area include Jerry Tessendorf, James F. O'Brien, Ron Fedkiw, Mark Carlson, Greg Turk, Robert Bridson, Ken Museth, and Jos Stam.[citation needed]
Software
editMany 3D computer graphics programs implement fluid animation techniques. RealFlow is a standalone commercial package that has been used to produce visual effects in movies, television shows, commercials, and games.[citation needed] RealFlow implements a fluid-implicit particle (FLIP; an extension of the Particle-in-cell method) solver, a hybrid grid, and a particle method that allows for advanced features such as foam and spray. Maya and Houdini are two other commercial 3D computer graphics programs that allow for fluid animation.
Blender is an open-source 3D computer graphics program that utilized a particle-based Lattice Boltzmann method for animating fluids[13] until the integration of the open-source mantaflow project in 2020 with a wide range of Navier-Stokes solver variants.[14]
See also
editReferences
edit- ^ Bridson, Robert. Fluid Simulation for Computer Graphics (2nd ed.). CRC Press.
- ^ Mastin, Gary A.; Watterberg, Peter A.; Mareda, John F. (March 1987). "Fourier Synthesis of Ocean Scenes" (PDF). IEEE Computer Graphics and Applications. 7 (3): 16–23. doi:10.1109/MCG.1987.276961. S2CID 1330805. Archived from the original (PDF) on 2016-03-05. Retrieved 2014-08-31.
- ^ Foster, Nick; Metaxas, Dimitri (1996-09-01). "Realistic Animation of Liquids". Graphical Models and Image Processing. 58 (5): 471–483. CiteSeerX 10.1.1.331.619. doi:10.1006/gmip.1996.0039.
- ^ Harlow, Francis H.; Welch, J. Eddie (1965-12-01). "Numerical Calculation of Time-Dependent Viscous Incompressible Flow of Fluid with Free Surface". Physics of Fluids. 8 (12): 2182–2189. Bibcode:1965PhFl....8.2182H. doi:10.1063/1.1761178. ISSN 0031-9171.
- ^ Reeves, W. T. (1983-04-01). "Particle Systems—a Technique for Modeling a Class of Fuzzy Objects". ACM Trans. Graph. 2 (2): 91–108. CiteSeerX 10.1.1.517.4835. doi:10.1145/357318.357320. ISSN 0730-0301. S2CID 181508.
- ^ Kass, Michael; Miller, Gavin (1990-01-01). "Rapid, stable fluid dynamics for computer graphics". Proceedings of the 17th annual conference on Computer graphics and interactive techniques. SIGGRAPH '90. New York: ACM. pp. 49–57. doi:10.1145/97879.97884. ISBN 978-0897913447. S2CID 12925789.
- ^ Stam, Jos; Fiume, Eugene (1993-01-01). "Turbulent wind fields for gaseous phenomena". Proceedings of the 20th annual conference on Computer graphics and interactive techniques. SIGGRAPH '93. New York: ACM. pp. 369–376. doi:10.1145/166117.166163. ISBN 978-0897916011. S2CID 1618202.
- ^ Stam, Jos (1999-01-01). "Stable fluids". Proceedings of the 26th annual conference on Computer graphics and interactive techniques - SIGGRAPH '99. New York: ACM Press/Addison-Wesley Publishing Co. pp. 121–128. doi:10.1145/311535.311548. ISBN 978-0201485608. S2CID 207555779.
- ^ Fedkiw, Ronald; Stam, Jos; Jensen, Henrik Wann (2001-01-01). "Visual simulation of smoke". Proceedings of the 28th annual conference on Computer graphics and interactive techniques. SIGGRAPH '01. New York: ACM. pp. 15–22. CiteSeerX 10.1.1.29.2220. doi:10.1145/383259.383260. ISBN 978-1581133745. S2CID 7000291.
- ^ Nguyen, Duc Quang; Fedkiw, Ronald; Jensen, Henrik Wann (2002-01-01). "Physically based modeling and animation of fire". Proceedings of the 29th annual conference on Computer graphics and interactive techniques. SIGGRAPH '02. New York: ACM. pp. 721–728. doi:10.1145/566570.566643. ISBN 978-1581135213. S2CID 356538.
- ^ Foster, Nick; Fedkiw, Ronald (2001-01-01). "Practical animation of liquids". Proceedings of the 28th annual conference on Computer graphics and interactive techniques. SIGGRAPH '01. New York, NY, USA: ACM. pp. 23–30. CiteSeerX 10.1.1.21.932. doi:10.1145/383259.383261. ISBN 978-1581133745. S2CID 8782248.
- ^ Enright, Douglas; Marschner, Stephen; Fedkiw, Ronald (2002-01-01). "Animation and rendering of complex water surfaces". Proceedings of the 29th annual conference on Computer graphics and interactive techniques. SIGGRAPH '02. New York: ACM. pp. 736–744. CiteSeerX 10.1.1.19.6229. doi:10.1145/566570.566645. ISBN 978-1581135213. S2CID 1233095.
- ^ "Doc:2.4/Manual/Physics/Fluid - BlenderWiki". wiki.blender.org. Archived from the original on 2016-01-31. Retrieved 2016-11-04.
- ^ "Reference/Release Notes/2.82 - Blender Developer Wiki". wiki.blender.org. Retrieved 2020-06-10.