Compute the tangent vector computing the difference between and
456 Chapter 10 Interpolation
generalization of this — depending on the form of the B-spline, all or none of the points can be interpolated. Because of this, in a B-spline all of the control points can be used as approximating points (Figure 10.15). In fact, B-splines 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 B-spline 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 B-splines their flexibility and their power.
Like our previous piecewise curves, B-splines 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 B-spline, otherwise it is a nonuniform B-spline.
The most commonly used of the rational curves are nonuniform rational B-splines, or NURBS. Since they can produce conic as well as general curves