CpSc 465, Principles of Computer Graphics

Extra Credit Assignment

due May 19

Particle Systems

Particle systems are an animation technique for modeling objects like clouds, water, or smoke that are fluid and don't have well-defined edges. Very complicated special effects can be created fairly easily, so you get a fairly large return on relatively little programming investment. They're too much fun to pass up, and you should get a chance to play with them.

Unfortunately, your book doesn't mention them. The "big" Foley and Van Dam text probably does, but as I've said before, if you want to learn something new you should go to the source. In this case, the source is Reeves, W.T., "Particle Systems -- A Technique for Modeling a Class of Fuzzy Objects," ACM Transactions on Computer Graphics, Vol. 2, No. 2, April 1983, Pages 93-108.

Also unfortunately, there are a lot of other techniques that we need to cover first, so we won't get to particle systems until the very last day of class. That doesn't leave much room for an assignment, so that's where you come in.

The Assignment

  1. Grab a copy of the Reeves paper on particle systems and read it. If you're on campus, you can download from the link above. (I don't have permission to redistribute the paper to anyone else, so downloads are restricted to the network.) Otherwise you'll have to find a copy somewhere else (try Google, or go to the library -- you've heard of libraries, right? Our library carries ACM Transactions on Graphics. Then again, if you actually go to the library, you'll be on campus so you can just download the .PDF file.)
  2. Drop by during my office hours and talk to me. I'll ask you about what you've read, and about what you're planning to implement. This is not optional -- you need my approval be for you go ahead with the next step.
  3. Implement a particle system and the ability to modify some of its parameters at runtime.
  4. Come by during my office hours to demonstrate your program. Be ready to explain to me, in detail, how your program works. Make sure to arrange this appointment well in advance of the due date, because I may request changes to your program. If you show up in my office at 6:30 on May 19, you're going to go away without any extra credit.
  5. Submit printed and electronic copies of your program to me by May 19.
This extra-credit assignment is worth up to one-half of a regular assignment.

Why's and Wherefore's

You may note that this extra-credit assignment requires more effort than a regular assignment. That's because it's extra -- you are under no obligation to do this assignment. More importantly, I am under no obligation to make it easy for you. Specifically, if you're wondering why you need to come by my office and talk to me about the assignment and demonstrate your work, it's because there are plenty of particle system programs out there on the 'net (for example, this Java applet is pretty neat), but I want to see what you make of the material.