Provide the standard rainbow colormap to pseudocolor the 2D field.
Provide a GUI that allows the user to interactively edit the colormap.
User must at least be able to modify RGB mapping.
Pseudocolor image should be updated as the map is being changed.
Optionally allow the user to name, save, and reuse colormaps.
Optionally provide the user with additional predefined colormaps.
Marching squares:
Allow the user to interactively specify a valid threshold
value to generate contour lines.
Generate the corresponding contour lines using the marching squares
algorithm.
Make sure that ambiguities are handled properly.
One of the data set used to test your program will by
a 2x2 grid with diagonal values that are: above, below,
and at the threshold value.
Optionally allow the user to create multiple contour lines
with different threshold values -- contour lines corresponding
to different threshold values are colored differently.
Combine them: allow the users to overlay contour lines over
the pseudocolored 2D field.
Make sure the color/thickness of the contour lines are visible
against the pseudocolored field.
Items To Submit:
Html page with description and images of your
project's output.
Make sure your links are all local
and relative to your submit directory.
Also make sure you have well documented code, makefile, README file,
user guide, etc.
Do NOT include the data files in your submission.
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.
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.
Submission:
Create and submit a subdirectory called "prog1". 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 (e.g. unix.ic.ucsc.edu).
To submit use: submit cmps161-ap.w05 prog1 files
To verify submission use: peek cmps161-ap.w05 prog1