 # Algorithm for Cubic Nonuniform B-Spline Curve Interpolation

Initializing live version Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

This Demonstration shows how to interpolate a set of points in the plane via a cubic nonuniform B-spline curve and progressive-iterative approximation (PIA) technique. See Details for full implementation details.

Contributed by: Shutao Tang (December 2015)
(Northwestern Polytechnical University, Xi'an, China)
Open content licensed under CC BY-NC-SA

## Snapshots   ## Details

There are three main steps in the PIA algorithm.

1. Compute the knot vector via the chord-length parametrization where .

Then define the knot vector ,

where 2. Do the iteration.

At the beginning of the iteration, let First, generate a cubic nonuniform B-spline curve by the control points : .

The first adjustment of the control point is ,

then let Again, this gives a cubic nonuniform B-spline curve with the control points , that is .

In general, if the cubic nonuniform B-spline results from iterating times, let the adjustment of the control point be .

Also, let This gives the cubic nonuniform B-spline curve via the control points .

Finally, the set of curves is defined. Lin  has proved that these curves converge to the points, namely that , 3. The error is given by .

Reference

 蔺宏伟, 王国瑾, 董辰世. 用迭代非均匀 B-spline 曲线(曲面)拟合给定点集[J]. 中国科学, 2003, 33(10), pp. 912–923.

H. Lin et al., "Use Iterative Non-Uniform B-Spline Curve (Surface) to Fitting Given Point Set [J]." China Science, 33(10), 2003 pp. 912–923 (in Chinese).

## Permanent Citation

Shutao Tang

 Feedback (field required) Email (field required) Name Occupation Organization Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback. Send