Curve generation methods are an important topic in computer
graphics and geometric modeling.
A new set of methods is now becoming popular
which utilize a control polygon, as in the
Bézier
or B-spline
case, but instead of using analytic methods to directly calculate points
on the curve, these methods
successively refine
the control polygons into an
sequence of control polygons that, in the limit, converge to a curve.
By doing this, freedom from a closed-form
mathematical expression is achieved, and a wide variety of
curve types can be expressed. The curves are commonly called
* subdivision* curves as the methods are based upon the binary
subdivision of the uniform B-spline curves.

As it turns out, curves are fairly straightforward, and the interesting cases are surfaces and solids where the topology of the underlying control mesh can be quite complex. However, the curve cases are easier to present and therefore an understanding of these sections is important before proceeding to surfaces and solids. Most of the techniques presented here are similar to the techniques that are utilized in the surface cases.

To understand the basis of this method, the reader should first consult the notes on Chaikin's curve - which can be pointed to as the first of these algorithms.

For a pdf version of these notes look here.

- What is a Subdivision/Refinement Process?
- Chaikin's Curves - Curve generation by cutting corners.
- Subdivision Curves based upon the Quadratic Uniform B-Spline Curve
- Subdivision Curves based upon the Cubic Uniform B-Spline Curve
- Direct Calculation of Points on Cubic Subdivision Curves

2000-11-28