Physical Simulation for Computer AnimationAssignment 1 Computer Science Department Entertainment Technology Center Carnegie Mellon University

INSTRUCTOR: Adam Bargteil (Office hours: By appointment, NSH 4229)
WEB PAGE: http://graphics.cs.cmu.edu/courses/15-869/
WIKI: http://graphics.cs.cmu.edu/courses/15-869/wiki

This assignment is intentionally vague and open-ended to allow you to be creative. Particle systems are a simple and powerful tool for creating interesting motion and visual effects. The goal of this assignement is to experiment (I expect you to spend 2-3 days on this) with particle systems to see what you can do. Think of it as a challenge to produce a video thats cooler than the other students. The end product here is not the code you write, but the video (roughly 1-2 minutes, feel free to go longer if you've got something really cool, but don't bore me) you generate (and also the 1-2 page write up describing what you did/learned). Definitely plan to spend some time tweaking the parameters to generate an interesting video. For the simple video I generated, most of my time was spent tweaking parameters.

You must implement a basic particle system. Your particle system must contain particles. These particles can be mass-less or, better yet, they can have mass. The particles must react to something (like bouncing off a plane). The basic particle system I posted on the wiki does this. You must do something more. What that something more is, is totally up to you.

Some suggestions:

• Attractors/repellors - you can even add these to the system so that the move with the other particles.
• Flocking behaviour - like Craig Reynold's Boids paper.
• Other interparticle forces - you can treat the particles like a spring mass system or define any sort of interparticle forces you like. Any function of distance will work (e.g. d^4-3d^2+2, or whatever)
• Attract particles to a shape - create a weak force that attracts each particle to a different vertex of a polygon mesh. After some time you'll see the shape.
• Vortex forces - see Karl Sims paper
• Try different integration techniques - for the hardcore scientists
• whatever else you can think of. If you want to run an idea by me, send me an email.

ETC students may work in pairs on this (and all) projects (you must turn in individual writeups). For this project, all students may share code. But, you might not want to give away your secret sauce (i.e. if you find just the right interparticle forces or just the right parameter set). You are encouraged to share rendering code, since that is largely orthogonal to the goal of the assignment. Code sharing will not considered cheating. Turning in the same video is cheating.

We will watch all the videos in class the day they are due.