Math 155B -
Introduction to Computer Graphics - Winter 2005
Project #1 - Catmull-Rom and Overhauser interpolating splines
Overview: For this assignment you will write a program that accepts points via the mouse, and draws a spline curve which interpolates them. Your program will generate two kinds of curves: Catmull-Rom curves and Overhauser curves.
Due date: Wednesday, January 19, midnight.
Your program should support the following:
I have written a skeletal version of the program. The source code is
available from the textbook's web page, or directly from
http://math.ucsd.edu/~sbuss/MathCG/OpenGLsoft/ConnectDots/ConnectDots.html. This program
supports catching mouse clicks, the f and l
commands, and clamping to at most 64 points. It draws only straight-line
segments, not curves: your job is to add to the program the ability to
draw interpolating curves.
The sample program has been written to
draw big, black points and thick, colored lines and curves.
Whether this works on any particular machine is implementation dependent (a few
years ago, I tried this program on four different machines, with as many
different results.)
A sample PC executable is available as CatmullRomDraw.exe.
Helpful hints:
Hand in procedure: Create a directory called Project1 in your CSE167/Math155B "storage" directory on the PC computers. (Your ieng9 course home directory.) Place there your source files and your Visual C++ solution and project files. Do not modify these after turning in the programs, so as to leave the file dates unmodified. Your program should compile and run in your work directory with the version of Visual C++ that is installed on the computer lab computers. If you use another version of C++ at home for development it is your responsible to convert your project files to work on the computer lab computers.
Grading: Grading is an individual session with Jefferson Ng or Professor Buss. Please do not modify your files after the due date. You should be prepared to explain how your program works, and to show examples of the relative advantages and disadvantages of the Catmull-Rom splines and the Overhauser splines.