2016-07-26 19 views
2

Mayavi를 사용하여 실시간으로 움직이는 표면 플롯을 만듭니다. 현재 저는 임의의 2 차원 어레이를 만들고 있습니다. 이 숫자는 for 루프가 완료 될 때만 나타납니다.Mayavi 애니메이션 표면 플롯

내 코드는 다음과 같습니다 : 당신이 사용하는 어떤 코드 편집기

import numpy as np 
from mayavi import mlab 
import time 

height, width = 360, 640 
img = np.asarray(np.random.random((height, width))) 

xs = np.linspace(0,width,width) 
ys = np.linspace(0,height,height) 
x,y = np.meshgrid(xs, ys) 

z = img 

obj = mlab.mesh(x,y,z) 

t = time.time() 
max_framerate = 10 

ms = obj.mlab_source 
for i in range(1,50): 
    ms.z = np.asarray(np.random.random((width, height))) 

    # put a pause in here to control the maximum framerate 
    while time.time() - t < (1./max_framerate): 
     pass 
    t = time.time() 

mlab.show() 

답변

0

? IDLE for Python 2.7에서이 코드를 실행하면 예상대로 반복 할 때마다 업데이트됩니다. 그러나 Enthought Canopy 코드 편집기에서 설명하는 문제가 있습니다. 나는 그 이유를 모른다.

+0

저는 아나콘다 4.1.0 (64 비트)을 사용하고 있습니다. 그래도 지금은 다른 방법으로 작업하고 있어요! – Sam

+0

안녕하세요 사무엘, 사용하신 방법을 보여 주시겠습니까? 이 질문에 대한 답변으로 추가 할 수 있습니다. 감사 –