科學計算三維可視化---TVTK入門(數據加載)
阿新 • • 發佈:2018-07-12
int 結果 創建 type .com mapper 讀取數據 wid ont
一:數據加載
大多數可視化應用的數據並非是在TVTK庫中構建的,很多都是通過接口讀取外部數據文件
(一)使用vtkSTLReader來讀取外部文件
.stl 文件是在計算機圖形應用系統中,用於表示三角形網格的一種文件格式。格式簡單,應用廣泛
def ivtk_scene(actors): from tvtk.tools import ivtk # 創建一個帶有Crust(Python Shell)的窗口 win = ivtk.IVTKWithCrustAndBrowser() win.open() win.scene.add_actor(actors) # 修正錯誤 dialogTvtkfunc.py= win.control.centralWidget().widget(0).widget(0) from pyface.qt import QtCore dialog.setWindowFlags(QtCore.Qt.WindowFlags(0x00000000)) dialog.show() return win def event_loop(): from pyface.api import GUI gui = GUI() # 開啟界面消息循環 gui.start_event_loop()
from tvtk.api import tvtkfrom Tvtkfunc import ivtk_scene,event_loop s = tvtk.STLReader(file_name="python.stl") #從外部讀取數據 m = tvtk.PolyDataMapper(input_connection = s.output_port) a = tvtk.Actor(mapper = m) win = ivtk_scene(a) win.scene.isometric_view() event_loop()
(二)MultiBlock數據讀取
from tvtk.api import tvtk def read_data(): #導入數據 plot3d= tvtk.MultiBlockPLOT3DReader( xyz_file_name="comxyz.bin", #網格文件 q_file_name="combq.bin", #開啟動力學結果文件 scalar_function_number = 100, #設置標量數據數量 vector_function_number=200, #設置矢量數據數量 ) plot3d.update() #從文件讀取數據 return plot3d plot3d = read_data() grid = plot3d.output.get_block(0) #查看數據細節,獲取網格數據集 print(type(plot3d.output)) print(type(plot3d.output.get_block(0)))
科學計算三維可視化---TVTK入門(數據加載)