CMSC 635 Spring 1999 - Advanced Modeling
CMSC 635: Advanced Computer Graphics
Introduction to Advanced Modeling Techniques
David S. Ebert
Computer Science and Electrical Engineering Department
University of Maryland, Baltimore County
Traditional Geometric Representations
- Spline Patch Models
- Subdivision Surfaces (Catmull-Clark, etc.)
Advanced Modeling Techniques
Authors: Lindemyer & Prusinkiewicz, Alvy Ray Smith, Fowler
Rule based grammers for describing natural objects
Great for plants, trees, shells
Simple Example of a another tree created by the following production
a -> a[+a]a[-a-a]a
with initial axiom a
All rules applied simultaneously.
Also probabilistic and context-sensitive L-systems.
Most recent work is on Open L-systems that react to their environment.
See also the work by Prusinkiewicz
Green coneflower. Copyright © 1992 D. Fowler,
P. Prusinkiewicz, and J. Battjes.
A Horsechestnut tree model with branches competing for access to
light, R. Mech and P. Prusinkiewicz. Copyright © 1996
A model of coniferous trees competing for light. The trees are shown in the
position of growth. R. Mech and P. Prusinkiewicz. Copyright © 1996
A model of coniferous trees competing for light. The trees are moved
apart from the position of growth. R. Mech and
P. Prusinkiewicz. Copyright © 1996 P. Prusinkiewicz.
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
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
Return to CMSC 635 Notes Page
- 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)
- Rendering still difficult
- Inter-particle interactions - how to efficiently handle this
- How much physics vs. how much user control
- The perilous power of
Diffusion Limited Aggregation (DLA)
See also Rick
Parent's chapter on Particle Animation
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
Authors: Ebert, Perlin, Hart, Musgrave
Use algorithms, code segments, procedure to define the geometry of your
Add as much physics or art as you want
Advantages: flexibility, data amplification, procedural abstraction.
This image is a volume rendered and procedural altered metaball. The image
has low-albedo gas illumination and atmospheric attenuation.
version of the blizzard of '96
This image shows how metaballs, volume swirling snow, and polygonal models
can be combined to produce great images. You could say that during the
blizzard I created a virtual snowman and my own blizzard.