Summer 2006

G22.2270-001

WWH 101

Assigment X

DUE: Monday 7/10/06 midnight (11:59pm)

This is an OPTIONAL homework, which I prepared for those of you in need of extra credit.

I ask that you implement a curve drawing interface for both Bezier and cubic B-Spline curves.

The user should be able to click on a set of points on the screen and choose either the Bezier or B-Spline option to draw the curve, using the entered points as control points in the same order that they were entered.

We have covered the basics of both types of curves in the most recent lecture.

You can use the OpenGL evaluators for Bezier Curves, make sure that you use subdivision in order to draw the cubic splines.

Make sure to support more than four control points. (About 15-20 should be a good number)

Your program should have an option to complete the curve into a closed curve when say, the key 'C' is pressed. Remember, you can do this by cycling around the control points, i.e. use the first few points user clicked on as the last few ctrl points of the last polynomial. You may find the closed curve version easier to deal with so feel free to start with this.

Other than the requirements, feel free to add options/functionality/visual enhancements of your own. I will give extra points for these additions within reason (since this homework itself is extra credit, I can't be too generous).