Polydataの例¶
numpy配列を使用してポリデータデータセットを生成する方法の例.
この例は tvtk/examples/tiny_mesh.py に似ています.また,このデータをmayavi2で表示する方法も示します.スクリプトは次のように実行できます.
$ mayavi2 -x polydata.py
次のように実行することもできます.
$ python polydata.py
Pythonソースコード: polydata.py
# Author: Prabhu Ramachandran <prabhu at aero dot iitb dot ac dot in>
# Copyright (c) 2007, Enthought, Inc.
# License: BSD style.
from numpy import array
from tvtk.api import tvtk
from mayavi.scripts import mayavi2
# The numpy array data.
points = array([[0,0,0], [1,0,0], [0,1,0], [0,0,1]], 'f')
triangles = array([[0,1,3], [0,3,2], [1,2,3], [0,2,1]])
temperature = array([10., 20., 30., 40.])
# The TVTK dataset.
mesh = tvtk.PolyData(points=points, polys=triangles)
mesh.point_data.scalars = temperature
mesh.point_data.scalars.name = 'Temperature'
# Uncomment the next two lines to save the dataset to a VTK XML file.
#w = tvtk.XMLPolyDataWriter(input=mesh, file_name='polydata.vtp')
#w.write()
# Now view the data.
@mayavi2.standalone
def view():
from mayavi.sources.vtk_data_source import VTKDataSource
from mayavi.modules.surface import Surface
mayavi.new_scene()
src = VTKDataSource(data = mesh)
mayavi.add_source(src)
s = Surface()
mayavi.add_module(s)
if __name__ == '__main__':
view()