VTK學習筆記 使用VTK互動功能

2021-06-21 16:32:19 字數 1337 閱讀 8785

即使不會使用vtk互動功能,不要緊。先從概念入手。

一般乙個舞台上,有這麼幾個元素:

演員;燈光; 照相機; 觀眾; 和觀眾互動的行為;

再來看看vtk圖形模型主要物件,你會發現很類似這個實際生活的舞台。

1. vtk圖形模型主要物件

1、演員(actor)代表場景中繪製的實體。

通過引數的調節可以設定角色的位置,方向,渲染特性(property),引用(reference),紋理對映(texture)等屬性,並可對actor進行縮放。演員中封裝了乙個4*4的變換矩陣來實現對演員的位置,方向,大小(縮放)等的操控

2、燈光(lights)由vtklight類實現,可在場景中照亮繪製物件。

vtklight可通過呼叫引數的改變控制燈光的狀態(開/關)、照射角度、照射強度、顏色等,並支援點光源和平行光源。建立好後加入到renderer中即可。

3、照相機(camera)由vtkcamera類實現。

可以定義觀察著的位置、焦點和其他相關屬性;可以實現旋轉,平移,滾動等動作。

4、屬性(property)主要由vtkproperty實現。

要使三維物體具有真實感,必須說明幾何物體的一些特性,例如:光照特性(泛光,漫反射,鏡面反射,邊緣顏色),反射強度,物體的灰度,物體的繪製樣式(點,線框,表面),著色模式(flat,gourand,phong)等。

6、變換(vtktransform)時乙個方式4*4變換矩陣的堆疊,可對這一堆疊進行各種操作。

如:平移,縮放,旋轉等,一般在棧的頂部進行。

7、查詢表(vtklookuptable,vtkcolortransferfunction)

8、渲染器(vtkrenderer)基類為vtkrenderer, 作用是管理光源、照相機和繪製物件等的位置、屬性等; 提供了世界座標系, 觀察座標系及顯示座標系之間的轉換。建立好乙個renderer 後將其加入到renderwindow中即可將場景顯示出來。

9、渲染視窗(vtkrenderwindow)其基類為vtkrenderwindow, 管理顯示裝置上的視窗, 乙個或多個繪製方法可在渲染視窗上建立乙個場景。渲染視窗是使用者圖形介面, 其中包括了設定渲染視窗的大小, 產生立體顯示效果等的方法, 一共控制控制兩個快取。

10、視窗互動(vtkrenderwindowinteractor)當演員(actor)在視窗中渲染之後,可以使用視窗互動操縱照相機,選擇演員,呼叫自定義訊息函式等。

vtk 提供了兩種互動方法,第一種是使用vtkinteractorstyle 類的子類,第二種是使用系統提供的互動方法(如windows系統的事件)或者使用者自己定義互動型別,如果使用第二種,需要使用者必須直接管理事件迴圈(不推薦,有點麻煩)。

**示例:

VTK 學習筆記

vtk 是乙個物件導向的系統,高效使用 vtk的關鍵,是要逐漸較好地理解底層的物件模型,這樣做是為了去掉數百個物件的神秘外衣。理解力達到一定程度,你很容易建立應用程式。也許你想知道許多物件的功能,只有反覆練習 例子,才能對物件有所理解。在本使用者指南中,我們努力提供有用的物件組合來滿足你的應用。接下...

VTK學習(八)vtk管線

vtk module init vtkinteractionstyle int main int argc,char argv vtk兩個重要概念,一,渲染引擎,負責資料的視覺化表達。二,視覺化管線,指用於獲取資料,處理資料以及把資料寫入檔案或者把資料傳入渲染引擎進行顯示。資料物件,處理物件,資料流...

VTK學習筆記(1)

cmake 是乙個跨平台的工程構建工具,可以根據不同的平台生成與平台相關的工程配置檔案。同時,cmake簡化了工程構建過程,只要給工程裡的每個目錄都寫乙個cmakelists.txt指令碼檔案,就可以通過cmake生成該工程的編譯檔案。cmake支援in place構建 生成二進位制檔案和原始檔在同...