メインコンテンツに移動

PythonでVTK

Pythonを使うと, VTKを簡単に作ることができます. データも描けますが, 3次元図形を書くことも簡単.

準備

pip install vtk

実行

次のファイルをエディターで作りましょう

#!/usr/bin/env python
import vtk
# 座標の集合を作る
points = vtk.vtkPoints()
p0 = points.InsertNextPoint(0.0,0.0,0.0)
p1 = points.InsertNextPoint(1.0,0.0,0.0)
p2 = points.InsertNextPoint(1.0,1.0,0.0)
p3 = points.InsertNextPoint(0.0,1.0,0.0)
p4 = points.InsertNextPoint(0.5,0.5,1.5)
#心配なら画面に表示しても良い
#print("点の数",points.GetNumberOfPoints()) #for i in range(points.GetNumberOfPoints()): # print("[",i,"]=",points.GetPoint(i)) #面を作成する def add_Surface(S,*args): S.InsertNextCell(len(args)) for p in args: S.InsertCellPoint(p) return 0 surfaces = vtk.vtkCellArray() add_Surface(surfaces,p0,p1,p2,p3) add_Surface(surfaces,p0,p1,p4) add_Surface(surfaces,p1,p2,p4) add_Surface(surfaces,p2,p0,p4) add_Surface(surfaces,p3,p0,p4)
#polyDataを作成する polyData = vtk.vtkPolyData() polyData.SetPoints(points) polyData.SetPolys(surfaces)
#vtkファイルを書き出す writer = vtk.vtkPolyDataWriter() writer.SetInputData(polyData) writer.SetFileName("bakapon.vtk") writer.Write()

で,実行すると, bakapon.vtk が作成されます:

# ./poly_data.py

するとこんな図形が!