# Algorithm for Cubic Nonuniform B-Spline Curve Interpolation

Requires a Wolfram Notebook System

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

Requires a Wolfram Notebook System

Edit on desktop, mobile and cloud with any Wolfram Language product.

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 [1] has proved that these curves converge to the points, namely that

,

3. The error is given by

.

Reference

[1] èºå®ä¼, çå½ç¾, è£è¾°ä¸. ç¨è¿ä»£éåå 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

"Algorithm for Cubic Nonuniform B-Spline Curve Interpolation"

http://demonstrations.wolfram.com/AlgorithmForCubicNonuniformBSplineCurveInterpolation/

Wolfram Demonstrations Project

Published: December 16 2015