BU
CAS
CS 580
Advanced Computer Graphics
Fall 1997
Programming Assignment 0
Due before class on Tuesday, September 16
This programming assignment is meant to get people back into the swing of
graphics programming. You will develop a spline editor that allows
a user to create, modify, and display a 2-D cubic Hermite spline.
The resulting spline editor will become part of your
keyframe animation tool in programming assignment 1.
Helpful Reference Paper
Kochanek, Doris H. U., and Bartels, Richard H.,
``Interpolating Splines with Local Tension, Continuity, and
Bias Control,'' in Proceedings of ACM SIGGRAPH,
pp. 33-41, July 1984.
Photocopies of this paper can be found in the CS Dept "handouts"
unit located on the first floor of 111 Cummington St, across from
room MCS 135. Look for the bin labeled "CS580."
The Code You Write
Your spline editor should allow the user to:
- display the interpolating Hermite spline, its control points,
and the tangents at each point
- insert, delete, and move spline control points via
a mouse click/drag user interface
- alter the direction and magnitude of spline tangents via a
mouse click/drag user interface
You are welcome to develop your editor on the computer platform of your
choice.
The default tangent values can be those for a Catmull-Rom spline.
What You Turn In
Create an HTML document that gives your program source
and three images of splines that you edited in your spline editing tool.
Be sure to tell me what computer platform (e.g., PC, SGI) your tool runs on.
Submit your complete HTML document, source files, and images
using the submit program on CGL.
The code you submit
should be well-structured and clearly documented. For hints on good style,
see the CS480 coding guidelines.
Example Editor
For those who want to use the SGI but have little previous experience:
To help get you started, source files for an example polyline editor
are available. A full description of the polyline editor is
provided in the program comments. The example program's source files
can be found in the directory /usr2/cs580/courseware/p0 on the CGL
cluster. You are welcome to use this program as a starting point for your
Hermite spline editor; however, this is not required.
Other SGI Example Programs.
Source files for the GL utility toolkit are available on the CGL cluster
in /usr/local/glut on the CGL
cluster. There are many interesting example programs
available in the subdirectory /usr/local/glut/progs.
Online Documentation:
Page Created: Sept 4, 1997
Last Modified: Sept 4, 1997
Maintained by: Stan Sclaroff