
On-Line Geometric Modeling Notes
Overview
The normalized B-spline blending functions
are defined recursively by

and if k>1,
![]()
where
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
is a uniform knot
sequence, i.e.,
. This will simplify the
calculation of the blending functions, as
.
Blending Functions for k = 1
if k=1,
then by using equation (1), we can write
the normalized blending functions as

These are shown together in the following figure, where we have
plotted
,
,
, and
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).

These functions have support
(the region where the curve is nonzero) in an interval, with
having support on [i,i+1).
They are also clearly shifted versions of each other - e.g.,
is just
shifted one unit to the right. In fact,
we can write
Blending Functions for k = 2
If k=2 then
can be written as a weighted sum of
and
by equation (2). This gives

This curve is shown in the following figure.
The curve is piecewise linear, with support in the interval [0,2].

These functions are commonly referred to as ``hat'' functions and are used as blending functions in many linear interpolation problems.
Similarly, we can calculate
to be

This curve is shown in the following figure, and it is easily seen to
be a shifted version of
.

Finally, we have that

which is shown in the following illustration.

These nonzero portion of these curves each cover the intervals spanned
by three knots - e.g.,
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
![]()
Blending Functions for k = 3
For the case k=3, we again use equation (2) to obtain

and by nearly identical calculations,

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

The nonzero portion of these two curves each span the interval between
four consecutive knots - e.g., the nonzero portion of
spans
the interval [ 1,4 ].
Again,
can be seen visually to be a shifted version of
.
(This fact can also be seen analytically by
substituting t+1 for t in the equation for
.) We can
write
![]()
Blending Functions of Higher Orders
It is not too difficult to conclude that
the
blending functions will be piecewise cubic functions.
The support of
will be the interval [i,i+4] and each of the
blending functions will be shifted versions of each other, allowing us
to write
![]()
In general, the uniform blending functions
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
![]()
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
All contents copyright (c) 1996, 1997 |
|