On-Line Geometric Modeling Notes

The DeBoor-Cox Calculation


Overview

In 1972, Carl DeBoor and M.G. Cox independently discovered the relationship between the analytic and geometric definitions of B-splines. Starting with the definition of the normalized B-spline blending functions, these two researchers were able to develop the geometric definition of the B-spline. It is this calculation that is discussed in this paper.

To get a postscript version of these notes look here.


Definition of the B-Spline Curve  

A B-spline curve tex2html_wrap_inline391, is defined by


 equation19
where

We note that if, in equation (3), either of the N terms on the right hand side of the equation are zero, or the subscripts are out of the range of the summation limits, then the associated fraction is not evaluated and the term becomes zero. This is to avoid a zero-over-zero evaluation problem.

The order k is independent of the number of control points (n+1). In the B-Spline curve, unlike the Bézier Curve, we have the flexibility of using many control points, and restricting the degree of the polymonial segments.


The DeBoor-Cox Calculation

In the DeBoor-Cox calculation, we substitute the definition of tex2html_wrap_inline419 given in equation (3), into the right-hand side of
displaymath60
and simplify. This will give us the definition of tex2html_wrap_inline421 in terms of tex2html_wrap_inline423, which is of lower degree. The general idea is to continue this process until the sum is written with tex2html_wrap_inline425 functions, which we can evaluate easily.

So here we go. If tex2html_wrap_inline427 [tex2html_wrap_inline429), then by substituting equation (3) into the equation (1), we have


align72

Now since the support of a B-spline blending function tex2html_wrap_inline435 is the interval tex2html_wrap_inline437, we have that tex2html_wrap_inline439 is non-zero only if tex2html_wrap_inline441 [tex2html_wrap_inline443), which is outside the interval tex2html_wrap_inline445 (where tex2html_wrap_inline447 is defined). Thus, tex2html_wrap_inline449. Also tex2html_wrap_inline451 is non-zero only if tex2html_wrap_inline453 [tex2html_wrap_inline455), which is outside the interval tex2html_wrap_inline457. Thus, tex2html_wrap_inline459 and we have
align141
If we denote
displaymath181
then the above result may be written
displaymath190
Now we have written the summation terms of equation (1) in terms of blending functions of lower degree. Of course, we have transferred some of the complexity to the tex2html_wrap_inline461s, but we retain a similar form with control points tex2html_wrap_inline463s weighted by blending functions, and we can repeat this calculation again.

Once again then, repeating the calculation and manipulating the sums, we obtain
displaymath199
where
displaymath205
(Note the appearance of the 2s on the right-hand side of the equation.)

If we continue with this process again, we will manipulate the sum so that the blending functions have order k-3. Then again with give us k-4, and eventually we will obtain blending functions of order 1. We are lead to the following result: If we define
 equation215
where
displaymath228
Then, if t is in the interval tex2html_wrap_inline473, we have
displaymath233

This can be shown by continuing the DeBoor-Cox calculation k-1 times. When complete, we arrive at the formula
displaymath236
where tex2html_wrap_inline477 is given in equation (4). (Note the algebraic simplification that the tex2html_wrap_inline479's provide.) If tex2html_wrap_inline481, then then the only nonzero term of the sum is the lth term, which is one, and the sum must equal tex2html_wrap_inline485.

This enables us to define the geometrical definition of the B-spline curve.


Geometric Definition of the B-Spline Curve

Given a set of Control Points
displaymath247
and a set of knots
displaymath249
The B-Spline curve of order k is defined to be
displaymath252
where
displaymath257
and
displaymath269

It is useful to view the geometric construction as the following pyramid
equation273
Any tex2html_wrap_inline489 in this pyramid is calculated as a convex combination of the two tex2html_wrap_inline491 functions immediately to it's left.


Summary

The DeBoor-Cox calculation is a fundamental result in the geometric modeling field. It was used to exhibit the relation between the analytic definition of the B-Spline curve and the geometric definition of the curve. The geometric definition of the curve, because of its computational stability has become the primary technique by which points on these curves are calculated.


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:39:40 PDT 1997