Python从Surface Contour Plot中提取PointProbes

时间:2015-07-03 18:56:00

标签: python scipy

我想从表面轮廓图中提取给定的点探针。因此,我使用以下代码片段创建表面:

def createInterpolatedSurface():
  npts=1000
  xi = np.linspace(min(x), max(x),npts)
  yi = np.linspace(min(y), max(y),npts)
  xi,yi=np.meshgrid(xi,yi,indexing='xy')
  ui=scipy.interpolate.griddata((x,y),u,(xi,yi),method='linear')
return xi,yi,ui

我的下一步是设置一个点数组,使用initSensorArray作为嵌套循环函数,我感兴趣的是:

所以有我的主要问题。我想使用我的点的真实物理坐标,而不是griddata插值函数的ij索引坐标。

例如:物理空间中的Point(0.5,0.1)等于griddata ij索引中的Pointg(100,125),.

如何将物理点坐标映射到griddata,推断点并将它们映射回去?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

你可以在2D中使用scipy'` interpolate函数,

from scipy import interpolate

x,y,u = createInterpolatedSurface()

#Create an interpolation function 
f = interpolate.interp2d(x, y, u, kind='cubic')

#Use interpolation function to get results
xpoint = 0.5
ypoint = 0.1
upoint = f(xpoint, ypoint)