Harvey Mudd College
Computer Science

CS157: Computer Animation


Curves modeler





In this programming assignment you'll create a modeling system for Bezier curves. You may start with your robot code or with the camera tutorial from CS155.
  1. The user should be able to start a new curve. Initialize the curve with 4 control points in a line. The control points should be connected by a dashed line. The curve should be drawn in a different color as a solid line.
  2. The user should be able to create a new control point. It is difficult to specify a position in 3D space so you should create the point at a "good" position; i.e. not too close to any existing points, somewhere near the last control point, and within the current view volume.
  3. The user should be able to (recursively) delete the last control point in the chain.
  4. The user should be able to select and deselect an existing control point. At any point at most one control point should be "active." Read the section of the red book on "picking" for help with this feature.
  5. The user should be able to move the "active" control point in the x, y, and z directions in world coordinate. Provide some sort of "handle" for the active control point to cue the user as to the available directions of movement. Design the interface so that moving points is simple and intuitive.
  6. Allow the user to specify the drawing resolution.
  7. Allow the user the option to have the program select control points to ensure C1 continuity when a new curve is created. Note: the user should be able to toggle this off at any time.