Introduction to
Particle Systems
September 2000
David S. Ebert
Image from Star Trek II: The Wrath of Khan by
Pixar, copyright 1987 Pixar.
What are Particle Systems?
A large collection of (normally) very simple
geometric particles that change stochastically over time.
Introduced to computer graphics by Bill Reeves in 1983
Allow a few parameters to control a complex, dynamical system
(data amplification)
An example of procedural animation --
    animation, location, movement, birth, and death of
    parcticles are all controlled algorithmically.
Commonly used to represent natural phenomena, such as steam,
smoke, fire, water, snow, rain.
Three main components of a particle system:
- particle representation and geometry
- particle dynamics
- particle rendering
Particle Attributes (Representation and Data
Structures)
- geometry /shape (radius)
- color
- opacity
- position (initial)
- velocity
- lifetime
Particle Dynamics
Governs how the particles move from frame to frame
Often represented as forces
-
- Gravity
-
- Air resistance
-
- Attraction
-
- Repulsion
-
- Collision (with objects only)
-
- Wind Fields
-
- Turbulence Fields
-
- Stochastic functions
-
- Vortices (Sims 90)
-
- Navier-Stokes Flow equations
Particle Rendering
Problems because of the large number of primitives (hundreds of
thousands to millions
Simple Method:
-
- Consider each particle as a point (linear if motion-blurred)
light source.
-
- The color of the particle is constant and unshaded.
-
- Accumulate the contribution of each particle into the
frame-buffer
-
- composite with the normally rendered scene.
-
- No occlusion, no inter-particle illumination
Structured Particle Systems (Reeves and Blau 85)
-
- Probabilistic rendering techniques to speed rendering.
-
- Perform hidden surface removal, illumination, and shadowing for
the particles.
-
- Usually modeling stochastic phenomena, so rendering can be
-       approximately correct.
-
- Perform approximate/probabilistic illumination.
-       (e.g., distance into tree from light
source determines diffuse shading
-       and probability of having specular highlights, etc.)
-
- Perform approximate/probabilistic shadowing -
-       exponentially decrease ambient illumination
as depth into structure increases.
-
- External shadowing also probabilistically approximated.
-
- For hidden-surface removal, use a painters algorithm along
-       with a depth-bucket sort of particles.
-       Won't be correct in all cases, but
approximately correct.
- Example from Andre and Wally B (Pixar)
- Example from Road to Point Reyes (Pixar)
Particle System Operation
- New particles are generated and assigned initial attributes
- Particles past their lifetime are removed
- All remaining particles are updated based on dynamics and
procedures
- Particles are rendered, often using special purpose algorithms
Advanced Particle Systems
- Structured Particle Systems
- Particles form a connected, cohesive 3D object and have
inter-particle relationships.
- Used to model trees, plants, etc., so similar to probabilistic,
context-sensitive L-systems
- Unlike L-systems, goal is to model appearance of collections of
trees, plants, etc.
- Construct trees, by recursively generating sub-branches with
stochastic variation of parameters.
- Therefore, a few parameters generate an entire forest.
- Each particle represents an element (branch, blade of grass,
etc.)
- Cloth dynamics based on particle systems (Breen 1994, Maya cloth,
Witkin and Baraff 1998)
- Surface modeling with oriented particle systems (Szeliski and
Tonnenson)
- Complex geometry and implicits attached to particles - clouds,
etc. (Ebert, Stam)
Common Issues
- Rendering still difficult
- Inter-particle interactions - how to efficiently handle this
- How much physics vs. how much user control
- The perilous power of
parameterization
Diffusion Limited Aggregation (DLA)
-
Natural process hypothesized to describe how many natural things form,
including dendrite clusters to the formation of galaxies.
-
Based on random walks (fBm motion) of particles.
-
Several initial sticky particles are placed in space.
-
A large number of additional particles are moved on random walks;
-
if they touch one of the sticky particles, they stick and may become sticky
also.
Main Page