李加順
(重慶交通大學,重慶400074)
VTK 的全稱是Visualization Toolkit(可視化工具包),VTK 是一個開源、跨平臺、自由獲取、支持并處理的圖形應用函數庫。
VTK 最早出現在《The Visualization Toolkit:An Object-Oriented Approach to 3D Graphics》 一書的附件中,這本書是由Prentice Hall 在1993 年出版的。美國GE 公司的三位研究人員 Ken Martin、Will Schroeder 和Bill Lorensen 開發了VTK 軟件。
1998 年,VTK 社區成長迅速,在學術研究及商業應用領域得到了重用(主要都是醫學方面的應用)[1]。
先新建一個cpp 文件,再新建一個MakeLists 文件并寫上相應的代碼,然后使用CMake 產生工程文件(.sln),最后進行編譯。
MakeLists 文件的編寫示例如下:
VTK 擁有強大的圖形處理能力,但是缺少窗口框架的用戶界面,與Qt 結合可建立一個用戶界面。

圖1
Visual Studio 新建一個項目中,找到Qt 然后創建一個Qt Widgets Application 項目,在設計界面中拖出QVTKWidget 窗口,最后完成界面的實現,如圖1 所示。
橋梁結構界面建立可視化模型需要實現以下功能:輸入節點、輸入截面類型以及參數、輸入單元類型、分析步、計算結果、圖像的可視化。在Qt 的設計界面中,利用PushButton、ToolButton、Verictical Scroll Bar、Horizontal Scroll Bar 等控件來實現一個界面。
由Qt 框架的窗口接收模型可視化顯示的數據參數并交給VTK 可視化流程最終在窗口上顯示。VTK 的可視化管道數據按照如下順序執行:Source->Filte->PolyData->PolyDataMapper->Actor->Renderer->RenderWindow->RenderWindowInteractor
在VTK 的編譯安裝過程中可能會遇到一些問題,通過CMake 顯示的問題的提示來完成VTK 的編譯,并完成Qt 與VTK 的結合,使用Qt 建立一個項目。
創建點的坐標,先New一個points 對象,在用points 去創建幾個點。

創建一條線,先New幾個line 對象,在用line 去創建幾條線。

創 建 一 個polyData、mapper、actor、renderer、renderWindow、interactor 對象,再用polyData 來設置點、線,將polyData 傳遞給mapper 再傳遞給actor,最終做一個交互;用Visual Studio 執行就可以顯示所創建的圖形。

先在h 文件中定義一個節點Create_Node,再利用cpp 文件寫上相應的顯示節點的代碼;然后定義一個節點標號Create_Label,利用cpp 文件寫上節點標號的代碼,最后把節點及節點標號傳給actor。部分代碼如下:


vtkSmartPointer
Actor_Line_Label = Create_Label(L_Label, Label, 0, 1, 0);

