University of Utah School of Computing
CS 5967/6967:
Physical Simulation for Computer Animation
INSTRUCTOR:    Adam Bargteil (Office hours: By appointment, MEB ???)
WEB PAGE: http://www.eng.utah.edu/~cs6967/
TIME: M/W 1:25-2:45
PLACE:     WEB 122
UNITS: 3

Assignment 1

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 example 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 example system below 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.

    You may work alone or in pairs. You may share/borrow code with/from anyone. You must produce your own video and writeup.

    We will watch all the videos in class the day they are due.
  • Example Code is here and my lame movie is here. Brian Mathews has created a version for windows.
    Update: A bmp alternative to libtiff.
    Update: A windows version of SlcConvert.