Compute the tangent vector computing the difference between and
456 Chapter 10 Interpolation
generalization of this — depending on the form of the Bspline, all or none of the points can be interpolated. Because of this, in a Bspline all of the control points can be used as approximating points (Figure 10.15). In fact, Bsplines are so flexible they can be used to represent all of the curves we have described so far. However, with flexibility comes a great deal of complexity. Because of
1/3(Pi+1 – Pi–1) 



Pi  Pi+1  
Pi–1 
P1  P2  P3  P5 


Figure 10.15 Bspline approximating curve.
Q(u) =  n � 

where each Pi is a point and Bi is a basis function for that point. The basis functions in this case are far more general than those described for Bézier curves, which gives Bsplines their flexibility and their power.
Like our previous piecewise curves, Bsplines are broken into smaller segments. The difference is that the number of segments is not necessarily dependent on the number of points, and the intermediary point between each segment is not necessarily one of our control points. These intermediary points are called knots. If the knots are spaced equally in time, the curve is known as a uniform Bspline, otherwise it is a nonuniform Bspline.
The most commonly used of the rational curves are nonuniform rational Bsplines, or NURBS. Since they can produce conic as well as general curves