240 Chapter 13 Rational Bezier and B-Spline Curves
1
5.8 Interpolation with Rational Cubics
The interpolation problem in the context of rational B-splines is the following:
Given: 3D data points
XQ,
...,
x^^,
parameter values
UQ,
...,
uj^^
and weights
Find:
A C^ rational cubic B-spline curve with control vertices do,..., d^+i
and weights f
Q^
• • • ?
^K+l ^hat interpolates to the given data and weights.
For the solution of this problem, we follow the philosophy outlined at the
end of the last section: solve a 4D interpolation problem to the data points
[
w-Ki
Wi
]^ and parameter values W/. All we have to do is to solve the linear
system (9.10), where input and output is now 4D instead of the usual 3D. We
nr
will obtain a 4D control polygon [
e^
Vi
] , from which we now obtain the
desired d^ as d^ = ^i/Vv The
Vi
are the weights of the control vertices d^.
We have not yet addressed the problem of how to choose the weights Wi
for the data points x^. No known algorithms exist for this problem. It seems
reasonable to assign high weights in regions where the interpolant is expected
to curve sharply. Yet there is a limit to the assignment of weights: if all of them
are very high, this will not have a significant effect on the curve since a common
factor in all weights will simply cancel. Moreover, care must be taken to prevent
the denominator of the interpolant from being zero. This is not a trivial task—
for instance, we might assign a very large weight to one data point while keeping
all the others at unity. The resulting weight function w{t) will not be positive
everywhere, giving rise to singularities at its zeros.
Integral cubic spline interpolation has cubic precision: if the data points and
the parameter values come from one global cubic, the interpolant reproduces
that cubic. In the context of rational spline interpolation, an analogous question
is that of conic precision: if the data points and the parameter values come from
one global conic, can we reproduce it? We must also require that the data points
have weights assigned to them. With them, we may view the rational spline
interpolation problem as an integral spline interpolation problem in E"^. There,
cubic splines have quadratic precision; that is, we may recapture any parabola.
The projection of the parabola yields a conic section; thus if our data—points,
parameter values, and weights—were taken from a conic, rational cubic spline
interpolation will reproduce the conic.
We should note, however, that this argument is limited to open curves; for
closed curves, we have already seen that we cannot represent a circle as a C^
symmetric periodic B-spline curve.
More approaches to rational sphne interpolation have recently appeared; we
hst Schneider [541] and Ma and Kruth
[408].