2016-07-26 27 views
2

Ich benutze Mayavi, um ein Oberflächendiagramm zu erstellen, das in Echtzeit animiert. Momentan mache ich nur zufällige 2D-Arrays. Die Abbildung erscheint nur, wenn die for-Schleife abgeschlossen ist.Mayavi Animierte Oberfläche

ist mein Code unten:

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() 

Antwort

0

Welche Code-Editor sind Sie mit? Wenn ich diesen Code in IDLE für Python 2.7 ausführen, wird es mit jeder Iteration aktualisiert, so wie Sie es erwarten würden. Ich habe jedoch das Problem, das Sie in Enthought Canopy-Code-Editor beschreiben. Ich kenne den Grund dafür nicht.

+0

Ich verwende Anaconda 4.1.0 (64-Bit). Ich habe es jetzt mit verschiedenen Methoden arbeiten lassen! – Sam

+0

Hallo Samuel, kannst du bitte die Methoden zeigen, die du benutzt hast? Sie können sie als Antwort auf diese Frage hinzufügen. Vielen Dank –