科學計算三維可視化---TVTK管線與數據加載(可視化管線和圖像管線瞭解)

一:TVTK的管線

使用管線技術將TVTK中各個對象穿連起來,幾乎全部渲染引擎都會提到管線技術
在TVTK中,每一個對象只須要實現相對簡單的任務,整個管線則能根據用戶的需求,實現複雜的數據可視化處理。
在TVTK中,管線分爲兩部分:可視化管線,圖像管線

一般:咱們須要可視化的數據,自己並非圖形數據,如:零件內部各部分溫度,流體在某處的速度等,
因此在可視化以前,咱們須要可視化管線將數據加工爲圖形數據

可視化管線輸出的圖形數據每每是三維空間數據,如何在二維屏幕上顯示,這就是圖形管線的功能了

(一)可視化管線

在這五個模塊中,每一個模塊的計算都隨着用戶的交互,而不斷的發生變化和更新

#建立一個長方體數據源,設置其長寬高
s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
#使用PolyDataMapper(映射器)將數據轉化爲圖形數據
m = tvtk.PolyDataMapper(input_connection=s.output_port) #將數據源的輸出賦給映射器的輸入

 

>>> s = tvtk.CubeSource(x_length=1.0,y_length=2.0,z_length=3.0)
>>> s.output_port
<tvtk.tvtk_classes.algorithm_output.AlgorithmOutput object at 0x0000000004CF79E8>
>>> m = tvtk.PolyDataMapper(input_connection=s.output_port)
>>> m.input_connection
<tvtk.tvtk_classes.algorithm_output.AlgorithmOutput object at 0x0000000004CF79E8>  #二者一致
數據源對象由input_connection=s.output_port屬性鏈接起來

 

 (二)圖形管線

主要解決圖形的可視化顯示過程

#建立一個Actor,是一個實體
a = tvtk.Actor(mapper=m)    #傳入前一個管線的映射器含有圖形數據,和前面的可視化管線相鏈接
#建立一個Renderer(渲染器),將Actor添加進去
r = tvtk.Renderer(background=(0,0,0))   #顯示背景設爲黑色
r.add_actor(a)  #將Actor添加進去
#建立一個RenderWindow(窗口),將Renderer添加進去
w = tvtk.RenderWindow(size=(300,300))   #建立一個顯示窗口
w.add_renderer(r)   #將創建的渲染器加入窗口
#建立一個RenderWindowInteractor(窗口的交互工具)
i = tvtk.RenderWindowInteractor(render_window=w)    #建立一個交互工具,將窗口加入交互
#開啓交互
i.initialize()
i.start()
相關文章
相關標籤/搜索