Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1995
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1995

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Question about interpolation and ListPlot3D

  • To: mathgroup at christensen.cybernetics.net
  • Subject: [mg1492] Re: Question about interpolation and ListPlot3D
  • From: roth at sunny.mpimf-heidelberg.mpg.de (Arnd Roth)
  • Date: Mon, 19 Jun 1995 01:16:10 -0400
  • Organization: Max-Planck-Institut fuer Medizinische Forschung

In article <3rn543$acd at news0.cybernetics.net>
zwiener at lehman.com (Zvi Wiener) writes:

>   I have an array representing 3 dimensional points
> in a form of their Eucledean coordinates:
> arr = {{x1,y1,z1}, ... ,{xN,yN,zN}};
> (they were generated from a very smooth function).
> 
> 1. I wish to generate a 3D plot of this surface (approximately),
> but format of ListPlot3D does not permit it, since my points
> {xi, yi} do not form a regular grid.
> How I can draw the surface?

The function TriangularSurfacePlot[] in the package
DiscreteMath`ComputationalGeometry` is what you need:

In[1]:= <<DiscreteMath`ComputationalGeometry`

In[2]:= ?TriangularSurfacePlot
TriangularSurfacePlot[{{x1, y1, z1},... ,{xn, yn, zn}}] plots
   the zi according to the planar Delaunay triangulation
   established by the {xi, yi}. (...)

However you should condition your set of points such that
no two points {x1, y1, z1} and {x2, y2, z2} are very very
close (compared to the average distance) or even identical.

> 2. I would like to find value of this function at another point
> {x, y}, the answer obviously depend on the way the function was
> interpolated (extrapolated), but I am interested in any way, as
> simple as possible.
> How to extract the Interpolating Function's value at {x, y} ?

You can use the resulting set of triangles (TriangularSurfacePlot
returns Graphics3D[{Polygon[{{..., ..., ...}, ..., ...}], ...}]
objects) to linearly interpolate your function. However at the
moment I do not have a function ready that does this. It should
not be too difficult to write one.


Sincerely,

Arnd Roth
Abteilung Zellphysiologie
Max-Planck-Institut fuer Medizinische Forschung
Postfach 10 38 20, D-69028 Heidelberg, Germany
http://sunny.mpimf-heidelberg.mpg.de/people/roth/ArndRoth.html


  • Prev by Date: Re: Question about interpolation and ListPlot3D
  • Next by Date: Mathematica DXF & Graphics Interest ?
  • Previous by thread: Re: Question about interpolation and ListPlot3D
  • Next by thread: Re: Question about interpolation and ListPlot3D