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
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
- geometry /shape (radius)
- position (initial)
Governs how the particles move from frame to frame
Often represented as forces
- Air resistance
- Collision (with objects only)
- Wind Fields
- Turbulence Fields
- Stochastic functions
- Vortices (Sims 90)
- Navier-Stokes Flow equations
Problems because of the large number of primitives (hundreds of
thousands to millions
- Consider each particle as a point (linear if motion-blurred)
- The color of the particle is constant and unshaded.
- Accumulate the contribution of each particle into the
- 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
- 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
- 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
- Particles are rendered, often using special purpose algorithms
Advanced Particle Systems
- Structured Particle Systems
- Particles form a connected, cohesive 3D object and have
- Used to model trees, plants, etc., so similar to probabilistic,
- 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,
- Cloth dynamics based on particle systems (Breen 1994, Maya cloth,
Witkin and Baraff 1998)
- Surface modeling with oriented particle systems (Szeliski and
- Complex geometry and implicits attached to particles - clouds,
etc. (Ebert, Stam)
Diffusion Limited Aggregation (DLA)
- Rendering still difficult
- Inter-particle interactions - how to efficiently handle this
- How much physics vs. how much user control
- The perilous power of
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