使用mayavi.mlab.mesh函数时Python脚本崩溃

时间:2017-04-17 10:24:35

标签: python-2.7 crash mesh mayavi mayavi.mlab

我正在尝试使用Mayavi mlab库中的网格函数 - 但每次运行代码时,程序都会崩溃。

我运行的代码只是文档中给出的示例的略微修改版本。

import numpy as np
from numpy import sin, cos
from mayavi import mlab

def main():

    PI = np.pi

    mlab.clf()
    phi, theta = np.mgrid[0:PI:11j, 0:2 * PI:11j]
    x = sin(phi) * cos(theta)
    y = sin(phi) * sin(theta)
    z = cos(phi)

    mlab.mesh(x, y, z, representation='wireframe', color=(0, 0, 0))

    mlab.show()

if __name__ == '__main__':
    main()

程序加载Mayavi绘图窗口,然后崩溃并出现以下错误:

  • 处理完成,退出代码为-1073741795(0xC000001D)

我正在使用:

  • Windows 7 Ultimate - 64位

  • 用于Python 2.7的Anaconda 2安装

  • PyCharm Community Edition 2017.1.1

我已经尝试了mlab.mesh的其他基本代码示例,结果相同。

我使用mlab.plot3d运行其他Mayavi脚本没有任何问题。

1 个答案:

答案 0 :(得分:0)

删除representation ='wireframe'修复了我的问题。即。

mlab.mesh(x, y, z, color=(0, 0, 0))

完全有效的唯一“表示”是“表面”,这是默认的。

'mesh'和'fancymesh'都可以使用Mayavi界面生成警告。

'点'& 'wireframe'都崩溃了。

文档[here]

中描述了这些表示