Sponsored Feature: Fluid Simulation for Video Games (Part 1)
In a new sponsored feature, part of Intel's Visual Computing site, Dr. Michael J. Gourlay of the University of Central Florida Interactive Entertainment Academy begins a three-part series
that explains fluid dynamics and its simulation techniques.
Starting with a basic overview of the nature of fluids, Gourlay moves into comparisons to other kinds of physical simulations, common approaches for particular simulation, overarching governing equations, and mathematical theory behind such systems, supported by a variety of photographs and charts.
In this excerpt, the author discusses several forms of physical simulation, including fluids:
"Whereas fluid dynamics might not be as familiar to most video game programmers, some forms of physical simulation have become commonplace. For the sake of context, let's see where fluid simulations fit into the spectrum of physical phenomena:
"Particles are points that have position, mass, and velocity but (in principle) no size or shape. The relationship between forces and motion is linear. Particles are easy to simulate but rather uninteresting.
"Rigid bodies have shape and orientation in addition to position, mass, and velocity-for example, blocks and balls. If you add the notion of "shape" to a particle, you get a rigid body. Rigid bodies are still easy to simulate: Most of the difficulty comes from detecting and responding to collisions. Stacks of bodies are usually the most difficult to solve, because everything in the stack continuously collides with everything else in the stack-even if nothing moves.
"Articulated bodies are connected networks of rigid bodies-for example, character models. These bodies behave identically to rigid bodies that are continuously involved in a form of collision where the points of contact have a limited variety of ways in which they can move (called constraints).
"Deformable bodies can change shape but retain their connectedness and adjacency of various points on the body. Think of this as a model where the edges between vertices never change which vertices they connect, but the locations of the vertices can move. Their type depends on their dimensionality:
* 1D. Thread, string, rope, chain, hair, and so on
* 2D. Cloth
* 3D. Soft bodies, like the jiggly bits of a character model
"Fluids have lots of freedom of motion. The motion is nonlinear (more on that later), and their shape and topology can change, as shown in Figure 3. Fluids require specialized simulation techniques: Because fluids take the shape of their container, they are always in collision with everything around them, including the fluid itself. So a collision with one part of the fluid effectively means that the whole body of fluid must respond."
The full five-page feature, which drills down into significantly more depth, is now available to read on Gamasutra