We would like to use a bicubic nonuniform B-spline surface to interpolate a given set of matrix nets

. We use the progressive-iterative approximation (PIA) algorithm rather than solving the control nets of a B-spline surface by a linear system. There are three main steps for the PIA algorithm.

1. Calculating the knot vectors

and

in two directions:

.

Let

.

Then the knot vector

is:

,

1.2 The knot vector

:

In a similar way, the knot vector

can be calculated.

.

2. The iterative process:

At the start of the iteration process, let

A bicubic nonuniform B-spline surface

can be generated via the control nets

by

.

Denote the first adjustment of the

control net by

Again, a bicubic nonuniform B-spline surface

can be defined by the control nets

:

.

Generally, if the

bicubic nonuniform B-spline surface

was defined by

iterations, denoting the

adjustment of the

control net as

, then

So we could generate the

bicubic nonuniform B-spline curve

via the control nets

.

Ultimately, the surface set

can be generated, and H. Lin [1] has proved that this surface iteration format is convergent. Namely,

.

[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).