CMP 161 -- Programming Assignment 3
Due date:
11:00am, FRIDAY, 2/28/2003
Objectives:
Flow visualization with particles and streamlines.
To Do:
-
Write a program that allows users to visualize 2D vector data
using streamlines or particles.
Here are additional information:
-
As a default,
use Euler integration,
but you should also allow the user to use Runge-Kutta 4 (RK4) also.
-
The streamlines or the particles need to be pseudo-colored
to the velocity magnitude.
Use the hue in the HSV ``colorwheel'' to map maximum
and minimum velocity magnitudes in the data set.
-
The streamlines or the particles can be seeded
in a regular fashion (e.g. every or every other grid point),
or in a random fashion.
-
The particles can be implemented starting with your
behavioral animation.
The boids will simply move along the vector field.
You have to turn off other behaviors like
flock centering, collision avoidance, etc.
When it hits the world boundary, it disappears.
Which means, you'll also need to keep putting
in new boids or there won't be any boids left to show the flow field.
-
Some sample 2D flow data are available
here.
-
You can meet the requirements of this program in a number of ways:
-
Write an OpenGL + fltk code.
-
Write an fltk + Vtk code.
-
Create an OpenDX network.
Items To Submit:
Html page with description and images of your
project's output. Make sure the links are all local
and relative to your submit directory.
Well documented code, makefile, README file, user guide, etc.
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 suns 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. By the way,
if you're your development on PC's, you should be able to recompile your
fltk/opengl code on the suns with little or no modifications to your source.
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.
A rough guide to the grading of this program is
here
.
Submission:
Create and submit a subdirectory called "prog3". 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.w03 prog3 files
-
To verify submission use: peek cmps161-ap.w03 prog3
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.