1. 程式人生 > 其它 >VTK個人學習記錄-20201214

VTK個人學習記錄-20201214

技術標籤:學習筆記vtk

  • 大部分教程都是使用CMake作為vtk專案的配置方法。若不使用CMake作為配置方法,直接建立c++解決方案,在配置完專案屬性後,需在程式碼標頭檔案引用部分作以下宣告:
#include <vtkAutoInit.h>		// 不使用CMake建立時,必需
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);
  • 燈光 vtkLight:顏色,位置,燈光焦點,燈光強度;
  • 相機 vtkCamera:位置,相機焦點,朝上方向,投影方向,投影方法,視角,前後剪裁平面;
  • 顏色:分為RGB和HSV兩種顏色系統描述:RGB為紅,綠和藍,取值範圍都為0.0-1.0。而HSV則為色相(Hue),飽和度(Saturation)和值(Value,也稱強度Intensity或亮度Bright),取值範圍也為0.0-1.0。
  • 絕大多數學習例子都要有互動機制的設定。如:vtkRenderWindowInteractor(),並將其初始化和進入事件的相應迴圈。
  • 紋理對映:建立一個紋理類物件vtkTexture,讀入一幅紋理圖片輸入到該物件,宣告該紋理要“貼”到什麼地方。
  • 空間變換:三維模型->二維平面(投影)。透視投影,正交投影。平移,縮放,旋轉。
    先設定變換矩陣,再應用。
vtkSmartPointer<
vtkTransform>transform = vtkSmartPointer<vtkTransform>::New(); transform->PostMultiply(); transform->RotateZ(40); transform->Translate(10,0,0); cylinderActor->SetUserTransform(transform);