On-Line Geometric Modeling Notes
SPLITTING THE CUBIC UNIFORM B-SPLINE CURVE

Overview

Splitting a uniform B-spline curve implies creating two new curves, one that represents the first half of the original curve, and one that represents the second half. These subdivision'' methods motivate much of the work on subdivision curves and provide methods that can be applied to recursive subdivision of B-spline surfaces. In the uniform B-spline case the subdivided components share many of their control points with other components, allowing us to define the totality of control points generated through subdivision as a refinement of the original control polygon.

In these notes we develop the methods for splitting a uniform cubic B-spline curve and develop a refinement process based upon these splitting algorithms.

The Matrix Equation for the Cubic Uniform B-Spline Curve

Given a control polygon , the cubic uniform B-spline curve defined by these control points can be defined in segments by the equations

for , and , where

The matrix , when multiplied by defines the cubic uniform B-spline blending functions.

The curve is made up from the union of the segments , , , . In these notes we will assume that , so that the curve is made up from only one segment.

Splitting - The First Half of the Curve

Suppose we are given a cubic uniform B-spline curve defined by the control polygon .

To perform a binary subdivision of the curve, we will produce two curves and which, as ranges between 0 and , sweep out the curve as ranges from 0 to and from to respectively. Concentrating first on , we can write as and so

where

and

The matrix is commonly called a splitting matrix'' and is given by

Carrying out the algebra, we have that

and so the subdivided curve has a control polygon that is positioned as in the following illustration:

i.e. at the midpoints of the first two line segments, and near the second and third vertices and .

We note that since the subdivided curve has been written as

and so is a uniform cubic B-spline curve as was required.

Splitting - The Second Half of the Curve

To subdivide and produce the second portion of the curve - i.e. the portion that is swept out as ranges from to , we write and calculate

where

is commonly called a splitting matrix, and is given by

By carrying out the algebra, we have that

and so the subdivided curve has a control polygon that is positioned as in the following illustration:

i.e. at the midpoints of the second and third line segments and near the second and third vertices.

We note that since the subdivided curve has been written as

and so is again a uniform cubic B-spline curve as required.

Specifying the Refinement Procedure

We note that several of the control points for the two subdivided components are the same. In particular , and - and so the five unique control points , , , and fully represent the two subdivided halves of the curve - and therefore represent the curve itself. The control polygon consisting of these five points is a refinement of the original control polygon . The following figure illustrates both the original vertices and the points of the refinement.

Summary

In the case of a cubic uniform B-spline curve we can define a simple procedure based upon two splitting matrices that allows the binary subdivision of the curve. In this case, many of the control points of the subdivided control polygons are shared and we can define a refined control polygon that is the union of the control points of the respective control polygons of the subdivision.

Bibliography

1
YAMAGUCHI, F.
Curves and Surfaces in Computer Aided Geometric Design.
Springer, 1988.

Ken Joy
2000-11-28