NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: [visad] HowTo do a smooth surface interpolation from sample 3D points?

Hi Marius,

I am back to a new 3D project and now wonder, how to interpolate a
surface from which I know the coordinates of about 100 measurment
points? They are taken from the bulge surface of the upper half circle
of a tree trunk.

My First question is, which kind of set to use? I think it should be
Gridded2DSet, because the x and y coordinates would be the domain and z
the manifold dimension?

In 3-D the domain dimension is 3 but for a surface
the manifold dimension is 2.

Defining a surface for your data will be much simpler
if you know that one coordinate is a single-valued
function of the other 2. For example, in a topography
z is a function of x and y.

For a tree trunk, it may make sense to use cylindrical
coordinates: height, theta (angle) and radius (from the
center line of the tree trunk). If you know that radius
is a single-valued function of height and theta (which
seems naively intuitive), then you can construct a
triangular topology in a Delaunay object by passing the
100 (height, theta) pairs to the Delaunay.factory()
method, then passing this Delaunay object to a
Irregular3DSet constructor, along with the 100
(height, theta, radius) triples. This should construct
an Irregular3DSet with manifold dimension = 2.

My second question is, how to interpolate a smooth non-oscillating
surface from this points. It should represents the bulge surface in a
smooth way, so that CAD shapers can reproduce it.

You can interpolate by passing the Delaunay object
and the 100 (height, theta) pairs to an Irregular2DSet
constructor, constructing a FlatField of this with
radius values in the range, then resmapling this to a Gridded2DSet. You can pull values out of the resampled
FlatField to construct a Gridded3DSet with manifild
dimension = 2.

I am -->very rusty<-- at all this stuff, so caveat
emptor.

Good luck,
Bill



  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: