To model smooth curves, we can implement Bezier splines, which are mathematically defined from a set of control points. These control points modify the curvature of the spline.

Besides the basic requirements for this assignment, the applet has an input mode that will force all splines to be C1 smooth/continuous. When you place a segment endpoint, it will automatically place the next control point such that the first tangent of the new segment and the second tangent of the old segment are equal. Therefore, the curve will be continuous at the endpoint. When control points are modified, this charecteristic is preserved. You can toggle smoothness by pressing the "s" key.

You can also show just the features of interest. The control points, controllines (the lines between the control points) and the curve itself can be toggled on and off.

Left Mouse Button
Adds a new control point or drags an existing one
"s" Key
Toggles C1 smoothness
"p" Key
Toggles drawing the control points
"l" Key
Toggles drawing the control lines
"c" Key
Toggles drawing the curve itself
Escape Key
Removes all control points

The source is in the files:

Copyright © 2003 Christopher DeCoro