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.
For a pdf version of these notes look here.
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
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
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
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
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
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.