0
我想知道是否有在3D空间中插值的函数。举例来说,我有一个有x,y,z坐标的矩阵。有没有一种方法可以插值并计算给定x和y的z坐标。例如:使用numpy在3D空间中插值
A=[1,3,5,
2,3,4
4,4,8
3,4,5]
,我需要计算的z坐标,当x = 3 Y = 3,5-
我想知道是否有在3D空间中插值的函数。举例来说,我有一个有x,y,z坐标的矩阵。有没有一种方法可以插值并计算给定x和y的z坐标。例如:使用numpy在3D空间中插值
A=[1,3,5,
2,3,4
4,4,8
3,4,5]
,我需要计算的z坐标,当x = 3 Y = 3,5-
是,scipy.interpolate
提供了暴露__call(x)__
函数来对预先计算的网格内插函数以及对象按需
计算值请看下面的例子
import numpy as np
from scipy import interpolate
A=[1,3,5,
2,3,4,
4,4,8,
3,4,5]
xs = A[0::3]
ys = A[1::3]
zs = A[2::3]
points=np.zeros((len(xs),2))
values=np.zeros((len(xs)))
points[:,0] = xs
points[:,1] = ys
values[:] = zs
interpolator = interpolate.CloughTocher2DInterpolator(points,values)
z = interpolator(3,3.5)
print(z)
这段代码应该输出VAL ue
5.489419430226453
它首先将n * 3个值的输入列表转换为三个numpy数组xs,ys和zs。然后使用前一阶段创建的points
和values
阵列创建插补器对象。
'scipy.interpolate.interp2d'? –