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.
- Use time-varying 3D procedural texture mapping techniques to simulate
smoke and fire.
- Use particle animation techniques to produce realistic sparks that die out over time.
- Use time-varying 3D procedural texture mapping techniques to define
turbulent wind that blows the sparks around in motion consistent with the
blowing direction of the smoke.
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.