原创 VTK_Learning_圖形基本操作進階_法向量計算

1.點法向量和單元法向量 三維平面的法向量是指垂直於該平面的三維向量。曲面在某點P處的法向量爲垂直於該點切平面的向量。對於一個網格模型,其每一個點和單元都可以計算一個法向量,在三維計算機圖形學中法向量一個重要應用是光照和陰影計算。對於網

原创 VTK_Learning_圖形基本操作進階_模型區率計算

1.曲率計算 曲率時曲面彎曲程度的一種度量,是幾何體的一種重要的局部特徵。如下圖所示: 要計算曲面上給定點M的曲率,考慮經過M的法線的一個平面與曲面相交,得到一條二維曲面,稱之爲曲面在M點的一條法截線。經過M點法向量的曲面可以任意旋轉,

原创 VTK_Learning_紋理映射體繪製_二維紋理映射

1.紋理映射體繪製 基於軟件實現的光線投影體繪製算法計算量非常大,不利於進行實時渲染。因此,目前體繪製經常使用圖形硬件利用紋理映射來加速。 其主要原理是將三維體數據作爲紋理裝載入硬件緩存中,利用硬件來實現插值以及圖像合成操作,以提高繪製

原创 VTK_Learning_體繪製討論_不透明度傳輸函數

1.vtkVolume vtkVolume類似於幾何渲染中的vtkActor,用於表示渲染場景中的對象。除了存儲基本變換信息(平移、旋轉、縮放等),其內部還存儲了兩個重要對象。這兩個對象分別是vtkAbstractVolumeMappe

原创 VTK_Learning_圖形基本操作進階_網格模型的特徵邊 與 封閉性檢測

1.封閉性檢測 由於受原始數據、重建方法的限制,得到的網格模型並不是封閉的。有時爲了顯示或者處理某些要求,需要網格必須是封閉的。 封閉性網格應該比較好理解,比如一個球形網格。 1.1網格模型邊的分類 之前也有提到過邊界邊的概念:如果一條邊

原创 VTK_Learning_圖形基本操作進階_表面重建技術(三角剖分)

1.表面重建 通過三維掃描儀所獲取的實際物體的空間點雲數據僅僅表示物體的幾何形狀,而無法表達其內部的拓撲結構。拓撲結構對於實際圖形處理以及可視化具有更重要的意義。因此,這就需要利用表面重建技術獎點雲數據轉換成面模型,通常爲三角網格模型。除

原创 VTK_Learning_交互部件_Widget的創建

1.創建Widget交互的步驟 雖然每個Widget都提供了不同的功能以及不同的API,但是,Widget的創建以及使用基本都是類似的。創建Widget的一般步驟如下: 1.實例化Widget; 2.指定渲染窗口交互器。Widget可以

原创 VTK_Learning_體繪製討論_梯度不透明度傳輸函數

1.梯度不透明度函數 梯度不透明度函數是將梯度模值映射爲一個不透明度乘子,從而增強過渡區域的顯示效果。 該函數也是使用vtkPiecewiseFunction類。例如,在不同材料的臨界區域,如空氣到軟組織,或者軟組織到骨頭的臨界區,梯度

原创 VTK_Learning_VTK開發理論彙總

一、VTK開發基礎_智能指針與引用計數 https://blog.csdn.net/shenziheng1/article/details/54974101   二、VTK開發基礎_vtkObject類深入分析 https://blog.

原创 VTK_Learning_交互部件_測量類Widget的應用

1.與測量類相關的主要Widget 與測量類相關的主要Widget如下: vtkDistanceWidget:用於在二維平面上測量兩點之間的距離。 vtkAngleWidget:用於在平面的角度測量。 vtkBiDimensional

原创 VTK_Learning_體繪製裁剪_Cripping技術

1.基於Clipping的體繪製裁剪技術 Clipping技術支持VTKImageData和VTKUntructuredGrid數據類型。該功能由vtkAbstractMapper3D類提供,對於那些使用基於OpenGL的硬件裁剪技術的M

原创 VTK_Learning_交互與Widget_觀察者/命令模式

1.前言 一個強大的可視化系統不僅需要強大的數據處理能力,也需要方便易用的交互功能。圖形處理軟件ParaView(hhttp://www.paraview.org)、德國癌症研究中心研發的MITK(http://www.mitk.org

原创 VTK_Learning_交互部件_Widget應用綜述

1.交互器樣式遇到的難題 交互器樣式(如vtkInteractorStyleImage)主要是根據不同的鍵盤、鼠標等消息來控制相機(vtkCamera)/Actor等相關參數,從而達到了交互的目的! 然而,在渲染場景中,這些交互器樣式是

原创 Qt總結_Qt5信號和槽_Qt4信號和槽對比分析

在對於重載的信號中,Qt4信號和槽表達優於Qt5信號和槽,Qt5信號和槽兼容Qt4信號和槽兼容。 所謂 GUI 界面,歸根結底,就是一堆組件的疊加。我們創建一個窗口,把按鈕放上面,把圖標放上面,這樣就成了一個界面。在放置時,組件的位置尤其

原创 Opnecv_遍歷Mat

opencv圖像數據是BGR的順序,其它的通常爲RGB的順序。 The efficient way  Mat& ScanImageAndReduceC(Mat& I, const uchar* const table) {