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.