numpy 插值并找到表面以上的高度

ycl3bljg  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(78)

我有一个xyz坐标的NumPy数组,除了一个代表地面。我想插值地平面,并找到一个点的表面以上的高度:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

arr = np.array([[0,0,0,2,2,4,5,5,2],
        [0,3,5,0,5,2,0,5,2],
        [80,70,50,90,40,75,60,46,220]])

x,y,z = arr
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, zdir='z', c= 'red')
plt.show()

我正在寻找这个术语,而不是一个解决方案(我不知道该搜索什么)。

06odsfpq

06odsfpq1#

由于地面数据似乎不在网格上,因此可以使用LinearNDInterpolator。它使用Delaunay三角剖分,非常健壮。
我推荐的另一个算法是Rbf (radial basis function)
两者都可以在scipy中使用,并且都可以处理n维数据。
使用这两个值之一来插值地平面,然后计算与单个值的差值。

相关问题