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
Snapshots
Details
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
. (1)
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 (
):
Equal spacing:
,
,
,
(2)
Chord length:
let , then
,
,
(3)
Centripetal:
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
,
,
,
,
.
So .
Thus
The system of linear equations is then represented by
Reference
[1] L. Piegl and W. Tiller, The NURBS Book, 2nd ed., Berlin: Springer–Verlag, 1997.
Permanent Citation