| Title: | Mathematics at DEC |
| Moderator: | RUSURE::EDP |
| Created: | Mon Feb 03 1986 |
| Last Modified: | Fri Jun 06 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 2083 |
| Total number of notes: | 14613 |
I am curious about the subject of interpolation. I want to know if the
methods intended for visual appeal are good for numerical accuracy.
Let me explain the situation:
The classic text book approach of using the Langrange interpolating
polynomial does not work well with large numbers of sample points as
pointed out by Carl deBoor in his book on B-Splines. Carl explains
that you begin to loose accuracy when the order of your interpolating
polynomial gets too large. Additionally I'm not sure how to extend the
technique into n-dimenions.
So Carl convinces me that BSplines are the way to go and then spends
most of his book trying to explain how to get the proper control points
for good interpolation. When I grow up I am going to understand these
algorithms. In the mean time, I need something simpler.
Well the graphics/CAD people have been busy with a closely related
subject of using Bezier and BSplines for drawing surfaces. The
classical approach seems to be having the user provide the control
points and the 2nd derivatives at the boundary conditions. This is
really a drag since I have absolutely no idea what the second partial
derivatives should be for some surface I want to draw or interpolate.
Moreover, these algorithms do not interpolate the control points, they
just go near them.
Recently (this decade) there have been some improvements. A paper by
Charly Rupp (Parametric Interpolation of Curves for Visual
Presentation) explains the ReGIS algorithm for drawing a Smooth curve
thru some points.
Donald Knuth uses a more sophisticated algorithm in his METAFONT
program that can accept tension parameters for drawing a smooth curve
thru user specified points. The source for METAFONT is available from
a number of sources - including the the ENET and your local book store.
The source program provides references to journal articles.
Barskey and Greenberg ("Determing a Set of B-spline Control Vertices to
Generate an Interpolating Surface") provide an algorithm for
interpolating surfaces with BSplines.
Now let me restate my question in more detail: Assuming that I am
not interested in least-squares best fit algorithms and that I want
functions that interpolate (not just go near) 2D, 3D functions, are
these graphics techniques any good? Is there any relationship between
what looks good and what is good numerically?
One specific application I have in mind is the display of empircal
data: I want the option of drawing a graph such that the line to
passes thru the data points. (This is because the purpose of the
interpolating line is largly cosmetic. Perhaps I'll also provide the
user with a least squares best fit option also). I think these
graphical algorithms would be good for this purpose.
But I am curious about using these graphics algorithms for numerical
interpolation as Carl deBoor discusses in his book. I can locate no
references on the suject of 3d numeric interpolation for randomly
placed sample points - only ones like Barsky's for the purpose of
visual appeal. Several text books I've looked at avoid the topic
entirely (including Numerical Recipies).
Sieg
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 1141.1 | may need more info | ALLVAX::ROTH | If you plant ice you'll harvest wind | Fri Oct 20 1989 06:50 | 40 |
If you need to actually interpolate, rather than merely approximate
you are constrained in how you represent your blending functions.
The problem with Lagrangian interpolation is that polynomials are
not extremely 'flexible', so force-fitting a high order polynomial
to an unfortunate set of data points will of necessity introduce
ripples.
If you can tolerate non-interpolatory functions then there is
a wider choice of options, the Bspline basis is an example.
Bsplines have advantages such as a convex hull property, variation
diminishing, recursive subdivision, easy knot insertion, and so on.
For finite element modeling, interpolation is necessary becase the
basis and shape functions are defined by values at discrete nodes
so Lagrangian interpolation is used.
Note that polynomials form a linear space, and the reason an
algorithm like Barsky's works is that he is effectively representing
a Lagrangian interpolant in the Bspline basis rather than the
perhas more natural (from a data standpoint) Lagrangian basis. His trick
is to organize the computations to be efficient.
There are also transfinite interpolants such as Coons patches, which
blend not a set of points but a set of boundary curves (or surfaces
spatial field modeling.)
A useful book which you may already have is "Curve and Surface Fitting",
by P. Lancaster and K. Salkauskas, Academic. It may provide some
insights to your problems.
It's hard to be more specific without knowing what kind of data you
are dealing with, and whether it is really necessary to interpolate
rather than merely approximate. If the need is to display results
visually, then I don't think interpolation is the answer.
Also, there is a literature on interpolants which have higher order
continuity, but this may not be imporant for your work if you have
no derivatives.
- Jim
| |||||