2017-04-17 72 views
0

我正在嘗試使用Mayavi mlab庫中的網格函數 - 但每次運行代碼時,程序都會崩潰。使用mayavi.mlab.mesh時Python腳本崩潰函數

我正在運行的代碼只是文檔中給出示例的稍微修改版本。

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旗艦版 - 64位

  • 阿納康達2安裝用於Python 2.7

  • PyCharm社區版2017年1月1日

我曾嘗試其他代碼的基本實例,對於具有相同的結果mlab.mesh。

我已經運行其他Mayavi腳本使用mlab.plot3d沒有任何問題。

回答

0

刪除representation ='wireframe'修復了我的問題。 I.E.

完全可以工作的唯一「表現形式」是「表面」,它是默認的。

'mesh'和'fancymesh'都可以工作,但會產生Mayavi界面的警告。

'points'&'wireframe'crash crash python。

這些表述在文檔中有描述[here]