我有三个对应于xyz坐标空间的3D网格矩阵(X,Y,Z).
我还有一个3D Numpy矩阵A,其中A [i,j,k]包含一个与点(x,y,z)相关联的浮点数,其中x = X [i,j,k],y = Y [i ,j,k]和z = Z [i,j,k].浮点值在A内是连续的(即A的相邻元素之间的值的变化通常很小).
有没有办法使用Matplotlib或任何其他基于Python的图形包绘制对应于A中给定浮点值的曲面?例如,如果给定值2.34,我有兴趣获得矩阵A的绘制轮廓曲面,只要2.34(加或减一些公差)出现?
到目前为止,我已经能够恢复A中所有值的xyz坐标,这些坐标在目标值的某个容差范围内,然后使用this(下面的代码)制作3D散点图.也许还有一种方法可以从这些点绘制表面?
def clean (A, t, dt):
# function for making A binary for t+-dt
# t is the target value I want in the matrix A with tolerance dt
new_A = np.copy(A)
new_A[np.logical_and(new_A > t-dt, new_A < t+dt)] = -1
new_A[new_A != -1] = 0
new_A[new_A == -1] = 1
return (new_A)
def get_surface (X, Y, Z, new_A):
x_vals = []
y_vals = []
z_vals = []
# Retrieve (x,y,z) coordinates of surface
for i in r