Re: Interpolation for a 3Dplot

*To*: mathgroup at smc.vnet.net*Subject*: [mg23008] Re: [mg22979] Interpolation for a 3Dplot*From*: Hartmut Wolf <hwolf at debis.com>*Date*: Tue, 11 Apr 2000 23:18:27 -0400 (EDT)*Organization*: debis Systemhaus*References*: <200004081844.OAA05367@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Chandrika Krothapalli schrieb: > > I have a 3d surface plot, and some points in the {x,y} plane for which I have > to calculate the z-value that corresponds to this surface plot. I was trying to > use Interpolation function in mathematica, but I could not figure out the right > way to use it. Can U tell me how to use it or tell me any book that has > material about this..... Chandrica, it depends from where you got your plot. Assuming this is from ListPlot3D[<array-of-data>], then you can use Interpolation: Assume we have an array of data, and a plot In[1]:= arr = Table [y (1 - y)( x^2 - 1), {y, 0., 1., 1/12}, {x, -2., 2., 0.4}]; In[2]:= ListPlot3D[arr] In[3]:= Dimensions[arr] Out[3]= {13, 11} and get the interpolation function: In[4]:= MapIndexed[Append[#2, #1] &, arr, {2}]; In[5]:= ipf = Interpolation at Flatten[MapIndexed[Append[#2, #1] &, Transpose[arr], {2}], 1] Out[5]= InterpolatingFunction[{{1., 13.}, {1., 11.}}, "<>"] Regard the Transpose! If you now plot In[6]:= Plot3D[ipf[x, y], {x, 1., 11.}, {y, 1., 13.}] you'll see that this reproduces the ListPlot3D above. So if you read off some coordinates from the first plot, you may calculate the corresponding z-value from the InterpolationFunction. If you want to read a book: "Mathematica Graphics: Techniques & Applications", by Tom Wickham-Jones http://store.wolfram.com/view/ISBN0387940472/?38F16F89-050E Hartmut

**References**:**Interpolation for a 3Dplot***From:*"Chandrika Krothapalli" <ckrotha@unity.ncsu.edu>