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'? –