答案 0 :(得分:1)
轮廓是访问等值点的曲线(在3D表面中)。对于数值数据,它将位于网格的点上或插值之间。
"外部"您的立方体的一部分全部为零,因此在索引10和90处有一个跳跃,可以创建轮廓曲面。
当网格中的值越过等间距轮廓值时,会创建内部边界(默认情况下总共显示3个值)。
最后,由于立方体的外部部分全部为零,没有透明度,您只能看到它,并且颜色的变化不会暗示颜色的变化。
我在下面给出一个更多级别(9)并且没有零边界的示例,它给出了水平轮廓平面。
import numpy as np
from mayavi import mlab
cube = np.zeros((100,100,100))
cube[:,:,:] = np.linspace(0, 1, np.prod(cube.shape)).reshape(cube.shape).T
mlab.contour3d(cube, colormap="jet", opacity=0.5, contours=9)
mlab.show()
您还可以考虑"切割飞机"在3D数据中生成2D切片。这些页面中有一些示例:http://docs.enthought.com/mayavi/mayavi/mlab_case_studies.html和http://docs.enthought.com/mayavi/mayavi/auto/examples.html