CMP 161 -- Programming Assignment 4
( Gone with the Wind )
Due date:
Midnight, WED, 3/7/2007
Objectives:
Play with particle systems.
Some Fun (useful?) Links:
-
This is probably too complicated --
Bent helix vector field
.
Let me know if you find a simpler helical spiral flow.
To Do:
-
Write a program that loads in (a) a polygon file and
(b) a 3D vector field.
Simulate the polygonal object being blown apart
and carried away by the wind field.
-
The polygon file can be one or more object from
here.
-
The 3D vector field can be read in from a file
(e.g. Hurricane Isabel data set)
or can be computed from a function, e.g. a helical spiral
(tornado-like) field, a source placed within the polygonal
object (explosion-like) field, etc.
-
Polygons on the model(s) are randomly selected and advected
by the vector field, until all the polygons are ``blown'' away.
Think of the polygons as particles that are being
influenced by their surrounding.
In this case, wind is the key factor instead of gravity,
although the latter could optionally play a role.
For simplicity,
just track the polygon centers and don't worry about intersecting
polygons.
To add realism, you can optionally throw in some random rotations
as the polygons fly away from the model.
Textures are also optional.
Items To Submit:
-
Html page with description, images and movies of your project.
Make sure your links are all local
and relative to your submit directory.
-
Makefile, code, README file, user guide.
-
You can submit your own test data files, or config files for your code.
However,
do not submit data files that we have provided.
Grading:
This program nominally accounts for 5% of your final grade. We must
be able to compile/test your code. Make sure that code and accompanying
make/project files, etc. must be tested for successful compilation at least on
the PCs in the lab. For PC's, we will be using Visual C++. Also be sure to
include a README in your submission as to which platform to use.
Programs turned in at least a full day early will earn 1% bonus credit. Late
programs will be charged 1% late points. In addition, late programs will not
be accepted 24 hours past due date. Late programs and reports will not be
accepted for the final project. The bonus credits may be accumulated up to a
total of 50% toward program and final project credits. Programs are graded 80%
for functionality and correctness and 20% for style, readability,
documentation/writeup, and efficiency. Additional points may also be earned
for extra features.
Submission:
Create and submit a subdirectory called "prog4". It should contain
all the files you have to make your program compile/run. Include the other
items to be submitted in this directory as well. Submission must be done using
the submit utility from CATS.
-
To submit use: submit cmps161-ap.w07 prog4 files
-
To verify submission use: peek cmps161-ap.w07 prog4
These commands should work from any cats machine, but if there is a problem
try from unix.ic.
Last modified
Tuesday, 22-Jan-2019 09:42:16 PST.