The binary subdivision of the uniform B-spline curves and surfaces motivate much of the work on subdivision curves and surfaces - where the word ``subdivision'' here is taken from the process that is used to subdivide a curve or surface into multiple components. In the uniform B-spline case a subdivided component shares many of its individual 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. These new control points can be assembled into a new control polygon and refined again by the same methods. Successive refinements produce a sequence of control polygons that in the limit converge to a curve.
The uniform B-spline curves, surfaces and solids have been extensively studied in the literature and subdivision methods for these objects are well known. We develop here the refinement method for a cubic uniform B-spline curve. The analysis is similar to that presented in the quadratic case however, the refinement algorithm can be specified in a different manner which eventually allows us to use eigenanalysis and directly calculate points on the curve.
For a pdf version of these notes look here.
The Matrix Equation for the Cubic Uniform B-Spline Curve
Given a set control polygon the cubic uniform B-spline curve defined by these control points can be defined in segments by the equations
Splitting and Refinement
We will begin by studying the binary subdivision of a cubic uniform B-spline curve defined by the four control points , , and . Such a curve is shown in the following illustration.
We can perform a binary subdivision
by applying one of the two splitting matrices
As it turns out, several of the control points for the two subdivided components are the same. Thus, we can combine these matrices, creating a matrix
The General Refinement Procedure
In the case of the quadratic curve we were able to state exactly a single procedure for the points of the refinement. In this case, it is not so easy. However, if we examine the rows of matrix used in the refinement, we see that they have two distinct forms. This motivates us to classify the points of the refinement as vertex and edge points, which is exhibited in another section. This classification makes the description of the refinement process quite straightforward.
In the case of a uniform cubic B-spline curve we can define process that takes the defining control polygon and creates a sequence of control polygons by refinement. This sequence converges to the curve defined by the original control polygon. The procedure is similar to that given in the quadratic case as it is generated through the matrices for binary subdivision of the curve.