非構造格子データを読み込んでファイルを保存するスクリプト(2)

描画するオブジェクトの見える角度を適当に調整する。

from vtk import *

fname = 'sgks.flow.vtk'

reader = vtkUnstructuredGridReader()
reader.SetFileName(fname)
reader.Update()
output = reader.GetOutput()
scalar_range = output.GetScalarRange()

mapper = vtkDataSetMapper()
mapper.SetInput(output)
mapper.SetScalarRange(scalar_range)

actor = vtkActor()
actor.SetMapper(mapper)

ren = vtkRenderer()
ren.AddActor(actor)
ren.SetBackground(1,1,1)

renwin = vtkRenderWindow()
renwin.AddRenderer(ren)
renwin.Render()
renwin.SetSize(500,500)

ren.GetActiveCamera().Zoom(1)       # 加える
ren.GetActiveCamera().Azimuth(30)   # 加える
ren.GetActiveCamera().Elevation(45) # 加える
ren.GetActiveCamera().Roll(0)       # 加える
renwin.Render()                <--必要!

w2if = vtkWindowToImageFilter()
w2if.SetInput(renwin)
w2if.Modified()

writer = vtkPNGWriter()
writer.SetInputConnection(w2if.GetOutputPort())
writer.SetFileName("test.png")
writer.Write()

#iren = vtkRenderWindowInteractor()
#iren.SetRenderWindow(renwin)
#iren.Initialize()
#iren.Start()

実行すると下のファイルが保存される。

参考サイト:3次元グラフィックス