Global B-spline Curve Interpolation

This Demonstration shows the global B-spline curve interpolation. The implementation is fully described in the Details.
  • Contributed by: Shutao TANG
    (Northwestern Polytechnical University, Xi'an City, China)


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


Suppose we are given a set of points , , and we want to interpolate these points with a th-degree non-rational B-spline curve. If we assign a parameter value, , to each , and select an appropriate knot vector , we can set up the system of linear equations
The control points, , are the unknowns. Let be the number of coordinates in the (typically 2, 3, or 4). Eq. (1) has one coefficient matrix, with right hand sides and, correspondingly, solution sets for the r coordinates of the .
The problem of choosing the and remains, and their choice affects the shape and parameterization of the curve. We assume that the parameter lies in the range Three common methods of choosing the are:
(1) Equally spaced
(2) Chord length
let , then
(3) Centripetal
let , then
Lastly, the following method was used to generate the knots. Namely,
To understand the process of this algorithm, let us give a example.
Let , and assume that we want to interpolate the with a cubic curve. We use Eqs. (3) and (5) to compute the and , and then set up the system of linear equations, Eq. (1). The separate chord lengths are
and the total chord length is . Thus
The system of linear equations is
[1] L. Piegl and W. Tiller, The NURBS Book, 2nd ed., Berlin: Springer-Verlag, 1997 pp. 364-369.