For curves, you have studied interpolation (using the Lagrange method or splines) and controlled design (Bézier or B-splines). It is possible to use analogous methods for surfaces. The key is to find a good way of making basis functions; the rest is easy.
Let's concentrate on the case of interpolating splines and look
first at the nonparametric case. To ease the later transition to
the parametric case, let's look at as a function of
and
rather than of
and
.
Suppose, then, that we are considering functions with
and
, and that at integer grid
points we have given heights to interpolate, say
at
.
Step 1. Construct basis functions
for
relaxed uniform interpolating cubic splines. Thus
.
From these make basis functions in two variables by simply taking
for
and
.
The graph of
is shown in Figure
.
Notice that this function has value 1 only at one grid point,
namely at
, and it has value 0 at all other grid points--a
nice property. These basis functions are said to form a tensor
basis, a term that refers to a basis made of products.
Step 2. Let
. Then the graph is a surface that does interpolate at
grid points as desired, i.e.,
. (Why?)
Observe that since the are piecewise cubic, the
tensor-basis functions and the final result
are piecewise
bicubic (cubic in each variable when the other variable is held
fixed).
Basis functions for several types of curves are shown in Figure ,
all for the case
.
Now let's do a parametric version, where we need to interpolate
given data points , and let's suppose that the
parameter domain is
,
. Since
and
might not be the same, the first step is to construct
basis functions separately for each parameter:
and
. Then the
tensor basis functions are
, and the
interpolating surface is given by
P.
A compact way to write this is to make a matrix of the points:
P.
Applying the same idea in other contexts gives Lagrange interpolation for surface, and Bézier surfaces and B-spline surfaces for controlled design. In each case you can find one-parameter basis functions (Bernstein polynomials in the case of Bézier curves), and then use them to make a tensor basis. The control points make a control polyhedron, although (just as for a control polygon) it is not a solid object but rather consists of polygons with control points as vertices.