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:

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