Global B-Spline Surface 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 global B-spline surface interpolation. The implementation is fully described in the Details.
Contributed by: Shutao Tang (October 2015)
(Northwestern Polytechnical University, Xi'an City, China)
Open content licensed under CC BY-NC-SA
Snapshots
Details
Given a set of data points
,
and
, this Demonstration constructs a nonrational
-degree B-spline surface interpolating these points, namely:
(1)
Again, the first order of business is to compute reasonable values for the and the knot vectors
and
. We show how to compute the
; the
are analogous.
A common method is to use equations (2) or (3) to compute parameters ,
, ⋯,
for each
and then to obtain each
by averaging across all
for
, that is,
,
,
where for each fixed ,
was computed by equation (2) or (3).
(a) Let , then
,
for
, and
. (2)
(b) Let , then
for
, and
. (3)
Once the are computed, the knot vectors
and
can be obtained by equation (4):
,
,
,
. (4)
Now to the computation of the control points. Clearly, equation (1) represents linear equations in the unknown
. However, since
is a tensor product surface, the
can be obtained more simply and efficiently as a sequence of curve interpolations.
For fixed , write equation (1) as
, (5)
where . (6)
Notice that equation (5) is just curve interpolation through the points . The
are the control points of the isoparametric curve on
at fixed
. Now fixing
and letting
vary, equation (6) is curve interpolation through the points
, with
as the computed control points. Thus, the algorithm to obtain all the
is as follows:
1. Using and the
, do
curve interpolations through
, which yields the
.
2. Using and the
, do
curve interpolations through
, which yields the
.
Reference
[1] L. Piegl and W. Tiller, The NURBS Book, 2nd ed., Berlin: Springer-Verlag, 1997 pp. 376–382.
Permanent Citation