Global B-Spline Curve Interpolation
Requires a Wolfram Notebook System
Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.
This Demonstration shows the method of global B-spline curve interpolation. The implementation is fully described in the Details.
Contributed by: Shutao Tang (October 2015)
(Northwestern Polytechnical University, Xi'an, China)
Open content licensed under CC BY-NC-SA
Given a set of points , , this Demonstration interpolates between these points using a degree nonrational B-spline curve. Assigning a parameter value to each and selecting an appropriate knot vector leads to the system of linear equations
The control points are the unknowns. Let be the number of coordinates in the (typically 2, 3, or 4). Equation (1) has one coefficient matrix with elements in the right-hand column and, correspondingly, solution sets for the coordinates of the .
The problem of choosing the and remains; their choice affects the shape and parametrization of the curve. Assume that the parameter lies in the range . Three common methods of choosing the are, with ():
, , , (2)
let , then
, , (3)
let , then
, , (4)
Lastly, the following method was used to generate the knots ():
, , . (5)
Here is an example of an application of this algorithm:
Let , and assume the interpolation is a cubic curve. Use equations (3) and (5) to compute the and , and then set up the system of linear equations, equation (1). The separate chord lengths are given by
, , , and the total chord length is . Thus
, , , , .
The system of linear equations is then represented by
 L. Piegl and W. Tiller, The NURBS Book, 2nd ed., Berlin: Springer–Verlag, 1997.