这就是我绘制3D曲面图的方式
数据以(x、y、z)格式存储:
tmp.dat
=======
1 1 1
2 1 4
3 1 1
1 2 4
2 2 5
3 2 4
1 3 1
2 3 4
3 3 1
要绘制它,我使用以下代码:
def getMeshGrid(dat):
x = dat[:,0]; y = dat[:,1]; z = dat[:,2]
xVal, xIdx = np.unique(x, return_inverse=True)
yVal, yIdx = np.unique(y, return_inverse=True)
zVal = np.empty(xVal.shape+yVal.shape)
zVal.fill(np.nan)
zVal[xIdx, yIdx] = z
xx, yy = np.meshgrid(np.unique(x), np.unique(y))
zz = zVal.T
return (xx, yy, zz)
dat = np.loadtxt("tmp.dat")
X, Y, Z = getMeshGrid(dat)
fig = pl.figure()
axe = fig.add_subplot(111, projection='3d')
axe.plot_surface(X, Y, Z)
pl.show()
我得到的图是这样的(没问题):。 然而,我想做的是填充所有正面三角形,以获得“凸面”
如果不清楚,我想用边[1,1]、[3,1]、[2,4]填充平面x=1、x=3、y=1、y=3中的三角形,并保持曲面选项板
谢谢你的建议
目前没有回答
相关问题 更多 >
编程相关推荐