CMP 161 -- Programming Assignment 1
Due date:
Midnight, WED, 1/24/2007
Objectives:
Basic terrain rendering plus line-of-sight test.
To Do:
-
Write a program that reads and renders digital elevation maps
(DEM) from
USGS.
You don't need to provide an interface to select coverage area,
rather the DEM file will dictate what is to be displayed.
We have already downloaded the DEM file for the
southwest america.
Draw shaded polygons.
-
Allow the user to ``fly around'' the region.
Using mouse controls would be better than sliders.
Check out
http://earth.google.com
(google earth) for an intuitive example of mouse navigation.
-
Provide a slider to change the amount of vertical exaggeration (i.e.,
a vertical scale factor).
-
Create a simple 1D color map that maps elevation to color.
-
Allow users to specify 2 points on the map,
and your program should determine if there's a
clear line-of-sight between those 2 points or not.
You will need to draw the line to graphically illustrate the line
of sight. (A straight line between the 2 points).
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 PCs in the lab.
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 "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.w07 prog1 files
-
To verify submission use: peek cmps161-ap.w07 prog1
Last modified
Tuesday, 22-Jan-2019 09:42:16 PST.