On-Line Geometric Modeling Notes

Cubic Uniform B-Spline Curve Refinement


Overview

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 postscript version of these notes look here.


The Matrix Equation for the Cubic Uniform B-Spline Curve  

Given a set control polygon tex2html_wrap_inline136 the cubic uniform B-spline curve tex2html_wrap_inline138 defined by these control points can be defined in segments by the n-2 equations
displaymath47
for k = 0, 1, ..., n-3, and tex2html_wrap_inline144, and where
displaymath58
The matrix M, when multiplied by tex2html_wrap_inline148 defines the cubic uniform B-spline blending functions.


Splitting and Refinement

We will begin by studying the binary subdivision of a cubic uniform B-spline curve tex2html_wrap_inline150 defined by the four control points tex2html_wrap_inline152, tex2html_wrap_inline154, tex2html_wrap_inline156 and tex2html_wrap_inline158. Such a curve is shown in the following illustration.

tex2html_wrap168

We can perform a binary subdivision by applying one of the two splitting matrices
eqnarray70
to the control polygon. (When applied to the control polygon tex2html_wrap_inline160 gives the first half of the curve, and tex2html_wrap_inline162 gives the second half.)

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 tex2html_wrap_inline164 matrix
displaymath84
and apply it to a control polygon as follows
displaymath91
generating a new control polygon which serves as the refinement of the original. The five control points of this new control polygon specify the two subdivided halves of the curve - and therefore specify the curve itself.

tex2html_wrap170


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 tex2html_wrap_inline166 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.


Summary

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.


References

1
CATMULL, E., AND CLARK, J. Recursively generated B-spline surfaces on arbitrary topological meshes. Computer-Aided Design 10 (Sept. 1978), 350-355.


This document maintained by Ken Joy

Comments to the Author

All contents copyright (c) 1996, 1997
Computer Science Department,
University of California, Davis
All rights reserved.



Ken Joy
Thu Jul 24 11:06:46 PDT 1997