CS-460/560, Week 11-B
Spring, 1998
R. Eckert
NON-UNIFORM CUBIC B-SPLINES
Variable size intervals between successive knot values
Must specify knot values --> the knot vector,
a non-decreasing sequence
e.g., (0,0,0,0,1,1,2,3,4,4,....)
Can have multiple knots
The curve segment Q is determined by control points: P , P , P , P
i i-3 i-2 i-1 i
and by blending functions: B (t), B (t), B (t), B (t)
i-3,4 i-2,4 i-1,4 i,4
[4 = the order (degree-3 plus 1) of the polynomials]
is given by:
Q (t) = P * B (t) + P * B (t) + P * B (t) + P * B (t)
i i-3 i-3,4 i-2 i-2,4 i-1 i-1,4 i i,4
3 <= i <= m, t <= t < t defined between t and t
i i+1 3 m+1
If t = t then the curve segment Q degenerates to a point.
i i+1 i
The Blending functions B(t) are defined recursively:
t <= t < t
1, i i+1
B (t) =
i,1 0, otherwise
t - t t - t
i i+2
B (t) = ---------*B (t) + ------------*B (t)
i,2 t - t i,1 t - t i+1,1
i+1 i i+2 i+1
t - t t - t
i i+3
B (t) = ---------*B (t) + ------------*B (t)
i,3 t - t i,2 t - t i+1,2
i+2 i i+3 i+1
t - t t - t
i i+4
B (t) = ---------*B (t) + ------------*B (t)
i,4 t - t i,3 t - t i+1,3
i+3 i i+4 i+1
In these equations, 0/0 is defined to be equal to 0.