Programming Assignment 2

Due 11:59PM on Thursday, March 2

In this assignment you will learn about basic particle animation and procedural texture mapping methods.

Produce animations explosions or fireballs that include sparks, smoke, and fire. Write your own 3D procedural texture mapping functions and particle animation system.  You are welcome to use the numerical integration algorithm of your choice.  

Provide an interface to your program that allows the user to change the parameters of the particle simulation (e.g., drag, stiffness, time step size, particle birthrate, initial velocity, etc.) and the parameters of the procedural texture mapping function (e.g., wind speed, force, lucanarity, color table, etc.).

Extra Credit

Model fireworks, including wind and smoke. Your fireworks should look realistic; model the initial ascent of the rocket, explosion, color bursts, descent, fading/burning out, wind effects, and smoke.

Submitting Your Report

By the deadline, send the URL for your report WWW page to the grader: Tai-peng Tian

What You Turn In

Create an HTML document "p2.html" that describes your project. In the first part of the report, write a paragraph that describes how your modules work. Also include psuedo-code and equations for the procedures you developed for your particle animation and procedural texture mapping functions.  Give a block diagram that gives an overview of how the system modules fit together. The detail you give should be sufficient for someone else to implement your system.

Include at least three different color image sequences. You should include either images and/or movie files as part of the HTML document you create.  If you complete the extra credit, please include an additional sequence that shows the implicit functions "turned on."   

Finally, include your source files, program executable, and Makefile. Please be sure to tell us what computer platform (e.g., Windows, Linux, Solaris) your tool runs on.

The report you write should be clear and to the point. The code you submit should be well-structured and clearly documented.