144 COMPUTER AIDED ENGINEERING DESIGN
=f[t 0 ]g[t 0 ,t 1 ,... , tr] + f[t 0 ,t 1 ]g[t 1 ,... , tk] +... + f[t 0 ,t 1 ,... , tk–1]g[tk–1, tk]
+f[t 0 ,t 1 ,... , tk] g[tk] (5.23)
Forhk(tj;t) = (tj–t)k+–1 = (tj–t)+k–2 (tj–t)+ = hk–1(tj;t) (tj–t)+ using Eq. (5.23) yields
hk[ti–k,... , ti; t] = hk–1[ti–k,... , ti–1; t] + hk–1[ti–k,... , ti; t](ti–t)
wherehk[ti–k,... , ti;t] is the kth divided difference of (tj–t)+k–1 and hence is a B-spline Mk,i(t).
Likewise,Mk–1,i–1(t) = hk–1[ti–k,... , ti–1; t].hk–1[ti–k,... , ti; t] may be expressed as
ht ttht tt
tt
kik i kik i
i ik
–1 – +1 –1 – –1
[ ,... , ; ] – [ ,... , ; ]
using Eq. (5.16).
Thus, the above relation becomes
Mt M t
tt
tt
ki k i i ht ttht t t
i ik
,–1,–1 kik i kik i
( ) = ( ) + –1 – +1 –1 – –1
{ [ ,... , ; ] – [ ,... , ; ]}
or Mt M t
tt
tt
ki k i i MtM t
i ik
,–1,–1 ki ki
() = () + –1, –1, –1
{ ( ) – ( )}
or Mt
tt
ttMt
tt
ki ttMt
ik
i ik ki
i
, i ik ki
- –1, –1 – –1,
() =
() +
- () (5.24)
Eq. (5.24) is the recursion relation to compute B-spline basis functions. It appears very similar to the
de Casteljau’s algorithm discussed in Chapter 4 that employs repeated linear interpolation between
data points to compute Bézier curves. Only here, repeated linear interpolation is performed between
two consecutive splines of one order less. Like in the de Casteljau’s algorithm, a table for constructing
splines may also be generated as in Table 5.2.
Table 5.2 also suggests that Mk,i(t) can be computed once splines of order 1, i.e. M1,i–k+1(t),
M1,i–k+2(t),... , M1,i(t) are all known. As Mk,i(t) is non-zero in the knot span ti–k≤t < ti and zero
elsewhere,M1, i(t) is non-zero only in one span ti–1≤t < ti and can be computed using the standardization
condition in Eq. (5.12). Note that being of degree 0, M1,i(t) is constant. Thus
02 4 6
t
0.2
0.15
0.1
0.05
0
ψ(t)
Figure 5.9 Plot of the quadratic spline in Example 5.3