On-Line Geometric Modeling Notes

The Normalized B-Spline Blending Functions


Overview

The normalized B-spline blending functions are defined recursively by
 equation9
and if k>1,
 equation18
where tex2html_wrap_inline248 is a non-decreasing sequence of knots, and k is the order of the curve.

These functions are difficult to calculate directly for a general knot sequence. However, if the knot sequence is uniform, it is quite straightforward to calculate these functions - and they have some suprising properties.

To get a postscript version of these notes look here.


Calculating the Blending Functions using a Uniform Knot Sequence

Assume that tex2html_wrap_inline252 is a uniform knot sequence, i.e., tex2html_wrap_inline254. This will simplify the calculation of the blending functions, as tex2html_wrap_inline256.


Blending Functions for k = 1

if k=1, then by using equation (1), we can write the normalized blending functions as
equation36
These are shown together in the following figure, where we have plotted tex2html_wrap_inline260, tex2html_wrap_inline262, tex2html_wrap_inline264, and tex2html_wrap_inline266 respectively, over five of the knots. Note the white circle at the end of the line where the functions value is 1. This represents the affect of the ``open-closed'' interval found in equation (1).

tex2html_wrap334

These functions have support (the region where the curve is nonzero) in an interval, with tex2html_wrap_inline270 having support on [i,i+1). They are also clearly shifted versions of each other - e.g., tex2html_wrap_inline274 is just tex2html_wrap_inline276 shifted one unit to the right. In fact, we can write tex2html_wrap_inline278


Blending Functions for k = 2

If k=2 then tex2html_wrap_inline282 can be written as a weighted sum of tex2html_wrap_inline284 and tex2html_wrap_inline286 by equation (2). This gives
equation60
This curve is shown in the following figure. The curve is piecewise linear, with support in the interval [0,2].

tex2html_wrap336

These functions are commonly referred to as ``hat'' functions and are used as blending functions in many linear interpolation problems.

Similarly, we can calculate tex2html_wrap_inline290 to be
equation81
This curve is shown in the following figure, and it is easily seen to be a shifted version of tex2html_wrap_inline292.

tex2html_wrap338

Finally, we have that
equation102
which is shown in the following illustration.

tex2html_wrap340

These nonzero portion of these curves each cover the intervals spanned by three knots - e.g., tex2html_wrap_inline294 spans the interval [ 1, 3 ]. The curves are piecewise linear, made up of two linear segments joined continuously.

Sinve the curves are shifted versions of each other, we can write
displaymath298


Blending Functions for k = 3

For the case k=3, we again use equation (2) to obtain
equation118
and by nearly identical calculations,
equation162
These curves are shown in the following figure. They are clearly piecewise quadratic curves, each made up of three parabolic segments that are joined at the knot values (we have placed tick marks on the curves to show where they join).

tex2html_wrap342

The nonzero portion of these two curves each span the interval between four consecutive knots - e.g., the nonzero portion of tex2html_wrap_inline302 spans the interval [ 1,4 ]. Again, tex2html_wrap_inline306 can be seen visually to be a shifted version of tex2html_wrap_inline308. (This fact can also be seen analytically by substituting t+1 for t in the equation for tex2html_wrap_inline314.) We can write
displaymath316


Blending Functions of Higher Orders

It is not too difficult to conclude that the tex2html_wrap_inline318 blending functions will be piecewise cubic functions. The support of tex2html_wrap_inline320 will be the interval [i,i+4] and each of the blending functions will be shifted versions of each other, allowing us to write
displaymath324
In general, the uniform blending functions tex2html_wrap_inline326 will be piecewise k-1st degree functions having support in the interval [i,i+k). They will be shifted versions of each other and each can be written in terms of a ``basic'' function
displaymath332


Summary

In the case of the uniform knot sequence, the blending functions are fairly easy to calculate, are shifted versions of each other, and have support over a simple interval determined by the knots. These characteristics are unique to the uniform blending functions.

For other special characteristics see the notes that describe writing the uniform blending functions as a convolution, and the notes that describe the two-scale relation for uniform B-splines


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 12:56:00 PDT 1997