vtk
是乙個物件導向的系統,高效使用
vtk的關鍵,是要逐漸較好地理解底層的物件模型,這樣做是為了去掉數百個物件的神秘外衣。理解力達到一定程度,你很容易建立應用程式。也許你想知道許多物件的功能,只有反覆練習**例子,才能對物件有所理解。在本使用者指南中,我們努力提供有用的物件組合來滿足你的應用。
接下來的部分,我們來構成
vtk的兩個物件模型:圖形物件模型和視覺化物件模型。
這部分相對高階—
圖形模型
vtk圖形模型包含下列核心物件(這不是無窮物件列表,而是我們經常用到的物件):
(附圖1)
我們把這些物件組合起來產生乙個場景(參見物件表圖
14-8
可以知道這些物件是如何聯絡在一起的)。
props
代表我們在場景中「看見」的東西,在
3d中(有乙個
4*4的變換矩陣)被定位和操作的
props
就是vtkprop3d
(例如vtkactor
就是vtkprop3d
的乙個具體的子類,我們要進行體繪製,這個子類就是
vtkvolume
)。props
用來定位和表示
2d資料(即影象)的類是
vtkactor2d
。props
不直接表示幾何形狀,它借助
物件,負責表達資料。
props
也借助於乙個屬性物件,屬性物件控制著
props
的外觀(顏色、漫射光、反射光效果;繪製外觀:線框或麵片等)。
actors
和volumes
(通過超類
vtkprop3d
)還有乙個內部變換物件(
vtktransform
),這個物件封裝了乙個
4*4矩陣,它依次控制著
prop
的位置、朝向和尺度。
光照(vtklight)
用來表示和操作場景的光線,光照僅用於3d,
2d不需要光照。
相機物件(
vtkcamera
)在繪製過程中控制如何將
3d投影到
2d,相機具有定位、定標和定向的幾種方法。此外,相機還控制透視投影和立體視(若開啟),
2d影象不需要相機。
對映物件(
)與查詢表相連(
vtklookuptable
),用來變換和繪製幾何圖形,對映提供視覺化流水線與圖形物件模型之間的介面。
vtklookuptable
是乙個vtkscalarstocolors
類的子類,就像
vtkcolortransferfunction
(典型vtkcolortransferfunction
用來體繪製,參見
136頁)。
vtkscalarstocolors
的子類將對映資料轉變成顏色,是最重要的視覺化技術之一。
renderers(vtkrenderer)
和render windows(vtkrenderwindow)
用來管理圖形引擎和計算機視窗系統,繪製窗就是所繪製的計算機視窗。多個繪製者可在乙個繪製視窗中繪圖,也可以建立多個繪製視窗。繪製區稱為視口,可能在乙個繪製視窗存在多個繪製區。將繪製物件繪製到視窗後,就獲得了與資料互動的機會。
vtk有幾種與資料進行互動的方法,其一就是
vtkrenderwindowinteractor
,它是一種簡單的工具,用來操作相機、拾取物件、呼叫使用者方法、進出立體視、改變
actors
屬性等。
上面提到的許多物件都有子類,這些子類具體化物件行為,例如
vtkassembly
、vtkfollower
和vtklodactor
都是vtkactor
子類。vtkassembly
允許actors
分級,恰當地管理平移、轉變和尺度變換。
vtkfollower
是乙個總是面向特定相機的
actor
。vtklodactor
是乙個actor
物件,可改變幾何表達、保持互動幀頻。
VTK學習筆記 使用VTK互動功能
即使不會使用vtk互動功能,不要緊。先從概念入手。一般乙個舞台上,有這麼幾個元素 演員 燈光 照相機 觀眾 和觀眾互動的行為 再來看看vtk圖形模型主要物件,你會發現很類似這個實際生活的舞台。1.vtk圖形模型主要物件 1 演員 actor 代表場景中繪製的實體。通過引數的調節可以設定角色的位置,方...
VTK學習筆記(1)
cmake 是乙個跨平台的工程構建工具,可以根據不同的平台生成與平台相關的工程配置檔案。同時,cmake簡化了工程構建過程,只要給工程裡的每個目錄都寫乙個cmakelists.txt指令碼檔案,就可以通過cmake生成該工程的編譯檔案。cmake支援in place構建 生成二進位制檔案和原始檔在同...
VTK學習筆記2 3
整理於 科學計算三維視覺化 資料集 dataset 點 point 和資料 data 點之間有兩種形態 連線 非連線多個相關的點組成單元點之間的連線可以是顯式也可以是隱式資料可以是標量 scalar 和向量 vector 資料集 dataset datasets 包括 5種資料集 imagedata...