B-spline parametric curve demonstration

A B-spline is one specific type of parametric curve of which there are several. These types of curves are used extensively in CAD and other graphics applications requiring compound, non-circular curves. This applet uses cubic, uniform B-splines to demonstrate the principles behind B-splines in general.

A B-spline is defined by an ordered set of control points or control polygon which determines what path the curve will follow and consequently how the curve will look. A longer B-spline is actually made up of several curve segments, each one of which is defined by some number of control points in its viscinity. For a cubic B-spline, this number is four. A point on a particular curve segment is calculated by simply adding up the coordinate values of its defining control points after they have been multiplied by a weighting factor. The weighting factor is calculated using a set of parametric basis or blending functions. Each control point is weighted by the value of just one blending function for a specific curve segment. For each curve segment, the value of the parameter varies from zero to one in the blending functions. The value of the blending functions across the range of the parameter multiplied by the control point's coordinates define a number of intermediate points, which form a curve when connected.

The applet below will let you play with some splines yourself to see:

Note: In order to use the applet you must be using a browser that supports Sun's jdk1.1 api.


How to use the applet:

Things to notice:

B-splines have a couple of features that make them popular curve representations.

Last modified on 9/4/98 by stj