i
i
i
i
i
i
i
i
374 15. Curves
b
1,2
(t) b
2,2
(t)
012
3
4
0
1
012
3
4
0
1
Figure 15.18. B-splines with
d
=1or
k
=2.
Uniform Linear B-splines
Consider a set of basis functions of the following form:
b
i,2
(t)=
⎧
⎪
⎨
⎪
⎩
t − i if i ≤ t<i+1,
2 − t + i if i +1≤ t ≤ i +2,
0otherwise.
(15.16)
Each of these functions looks like a little triangular “hat” between i and i +2with
its peak at i +1. Each is a piecewise polynomial, with knots at i, i +1,andi +2.
Two of them are graphed in Figure 15.18.
Each of these functions b
i,2
is a first degree (linear) B-spline. Because we will
consider B-splines of other parameter values later, we denote these with the 2 in
the subscript.
Notice that we have chosen to put the lower edge of the B-spline (its first knot)
at i. Therefore the first knot of the first B-spline (i =1)isat1. Iteration over the
B-splines or elements of the coefficient vector is from 1 to n (see Equation 15.15).
When B-splines are implemented, as well as in many other discussions of them,
they often are numbered from 0 to n − 1.
We can create a function from a set of n control points using Equation 15.15,
with these functions used for the b
i
to create an “overall function” that was influ-
enced by the coefficients. If we were to use these (k =2) B-splines to define the
overall function, we would define a piecewise polynomial function that linearly
interpolates the coefficients p
i
between t = k and t = n +1. Note that while
(k =2) B-splines interpolate all of their coefficients, B-splines of higher degree
do this under some specific conditions that we will discuss in Section 15.6.3.
Some properties of B-splines can be seen in this simple case. We will write
these in the general form using k, the parameter, and n for the number of coeffi-
cients or control points.
• Each B-spline has k +1knots.
• Each B-spline is zero before its first knot and after its last knot.