Post any questions or comments here.
-
Read along: The Nature of Code: Chapter 4
-
Reeves, William T. "Particle Systems—A Technique for Modeling a Class of Fuzzy Objects." ACM Transactions on Graphics 2:2 (April 1983): 91-108.
-
Sims, Karl. "Particle Animation and Rendering Using Data Parallel Computation." Paper presented at SIGGRAPH '90: The 17th Annual Conference on Computer Graphics and Interactive Techniques, Dallas, TX, August 6-10, 1990.
Post any questions or comments here.
Post any questions or comments here.
Post any questions or comments here.
At this point we’re a bit deeper in the semester and approaching the midterm project. Feel free to simply start on a midterm idea or continue something you’ve been working on previously. If you would like to try an exercise related to particle systems, here are some suggestions:
-
Use a particle system in the design of a "Mover" object. In other words take, say, one of our earlier examples and instead of rendering a Mover object as a simple circle, emit particles from the mover’s location. For example, building off Chapter 3’s "Asteroids" example, use a particle system to emit particles from the ship’s “thrusters” whenever a thrust force is applied. The particles’ initial velocity should be related to the ship’s current direction.
-
Create a particle system where the particles respond to each other via forces. For example, what if you connect the particles with spring forces? Or an attraction / repulsion force?
-
Model a specific visual effect using a particle system — fire, smoke, explosion, waterfall, etc.
-
Create a simulation of an object shattering into many pieces. How can you turn one large shape into many small particles? What if there are several large shapes on the screen and they shatter when you click on them?
-
Create a particle system in which each particle responds to every other particle. (Note we’ll be doing this in detail in Week 6.
-
Create a particle system with different “kinds” of particles in the same system. Try varying more than just the look of the particles. How do you deal with different behaviors using inheritance?
-
Use an array of images and assign each Particle object a different image. Even though single images are drawn by multiple particles, make sure you don’t call loadImage() any more than you need to, i.e. once for each image file.
As always, please create a web page to document your homework. Make sure it include some visual documentation of your work as well as the source code.
Post a link to your homework assignment here.
-
"Particle animation and rendering using data parallel computation", Karl Sims (available via NYU network/proxy)
-
"Particle Systems, a Technique for Modeling a Class of Fuzzy Objects", Reeves (available via NYU network/proxy)
-
Particle Systems (Siggraph), Particle System API, by David K. McAllister, Particle Systems by Allen Martin