私は粒子の軌道のビデオを作りようとしています。しかし、どういうわけか私のシーンは決して更新されません。ここには非常に簡単な例があります:mayavi points3dプロットのアニメーション
from __future__ import absolute_import, division, print_function
from mayavi import mlab
import numpy as np
import math
alpha = np.linspace(0, 2*math.pi, 100)
xs = np.cos(alpha)
ys = np.sin(alpha)
zs = np.zeros_like(xs)
mlab.points3d(0,0,0)
plt = mlab.points3d(xs[:1], ys[:1], zs[:1])
@mlab.animate(delay=100)
def anim():
f = mlab.gcf()
while True:
for (x, y, z) in zip(xs, ys, zs):
print('Updating scene...')
plt.mlab_source.x[0] = x
plt.mlab_source.y[0] = y
plt.mlab_source.z[0] = z
f.scene.render()
yield
anim()
mlab.show()
このスクリプトを実行すると、2つのポイントとアニメーションGUIが表示されたウィンドウが表示されます。また、「Updating Scene ...」という連続したストリームを端末に出力します。しかし、シーンは全く動きを示さない。
私は間違っていますか?
のPython 2.7、Mayavi 4.1、VTK 5.8
私はMayaviも使い慣れています。各サイクルをクリアするためにmlab.clf(figure = mayavi_scene)を使ってみましたか? – Griff