Mlabの視覚的な例

MlabでTVTKのビジュアルモジュールを使用して簡単なアニメーションを作成する方法を示します,非常に簡単な例です.

この例では,グレーのボックスが2つの赤のボックスの間で前後にバウンドします.

tvtk.tools.visual モジュールは, VPython に似たAPIを公開し,剛体オブジェクトの動きに基づいたアニメーションを作成するのに便利です.

@animate デコレータ( mayavi.mlab.animate() )は ビジュアル化のアニメーション化 の章で詳述されています.

mlabによってプロットされたデータ( mlab.test_plot3d() 呼び出しのように)を変更してアニメーションを作成する場合は,セクション データのアニメート を参照してください.

../_images/example_mlab_visual.jpg

Pythonソースコード: mlab_visual.py

# Author: Prabhu Ramachandran <prabhu [at] aero.iitb.ac.in>
# Copyright (c) 2009, Enthought, Inc.
# License: BSD Style.

from mayavi import mlab
from tvtk.tools import visual
# Create a figure
f = mlab.figure(size=(500,500))
# Tell visual to use this as the viewer.
visual.set_viewer(f)

# A silly visualization.
mlab.test_plot3d()

# Even sillier animation.
b1 = visual.box()
b2 = visual.box(x=4., color=visual.color.red)
b3 = visual.box(x=-4, color=visual.color.red)
b1.v = 5.0

@mlab.show
@mlab.animate(delay=250)
def anim():
    """Animate the b1 box."""
    while 1:
        b1.x = b1.x + b1.v*0.1
        if b1.x > 2.5 or b1.x < -2.5:
            b1.v = -b1.v
        yield

# Run the animation.
anim()