CPSC 405/605 Computer Graphics
Spring 1999
TTh 12:30--1:45 Jordan G032
Project 4
<http://www.vr.clemson.edu/~andrewd/courses/cpsc405/spring99/hw/proj4.html>
Objectives:
To learn particle animation techniques.
Motivation:
This project covers (1) particle system modeling and (2) basic animation
principles.
Due dates:
Project writeup and source: 04/20/99
Teams:
You may organize yourselves into pairs to complete this assignment.
If you form a pair, you must specify the ``division of labor''
(e.g., who did what) in your assignment writeup (scores will
be divided equally, however).
Description:
Write a program to implement a particle animation simulator:
Using your polygonal object viewer, construct a simple scene
containing objects and a particle formation.
Arrange the scene so that the particles will hit and then bounce
off polygonal objects when dropped.
Provide a ``start'' button which, when pressed, starts the
particle animation by letting gravity affect the particles.
Provide particle motion blur, allowing the user to turn this
feature off and on.
As an option, create a file format for storing scenes and then
allow the user to load pre-arranged scenes.
Notes, suggestions, and additional requirements:
For the particle formation, simply read in a .pol
object, and treat the verteces as a particle system.
Provide a list of simulated gravities for the user, e.g., simulate
earth, the moon, etc.
To implement particles hitting and bouncing off objects, you will
need to implement a collision detection strategy---a good
way to speed this up is to use bounding boxes around your
polygonal objects.
To implement gravity-induced motion, force dynamics calculations
are required. A good way to organize your group is to split
the division of labor between coding of these calculations and
the collision detection.
A simple way to model particle motion blur is to draw particle
``tails'' in proportion to particle velocity.
What to hand in:
``Professional-quality'' brief writeup (one writeup per team), including:
Cover page containing names of all participants:
Course Id--Section No.
Name:
SS No:
Assignment No.