葛德明(重慶建安儀器有限責任公司,重慶 400060)
傳統的三維數據切割法無法將實時人機交互操作有效實現。針對切割操作的缺陷,操作人員無法根據需求有效地進行操作。鑒于此,本文將重點分析和研究圖形硬件加速三維體數據的切割方法。實驗可以證明,這種方法不僅保證了良好的切割,而且能夠有效地實現了交互實時性。基于體紋理方法和基于深度信息方法,是當前主要的三維數據切割算法。基于體紋理方法是有效運用待切割體對紋理進行剪切來表示數據,再將數據利用設置片元值進行消除,既能切割復雜的三維體數形狀,又能將多次切割有效完成[1]。基于深度信息方法是將有關體素的信息儲存起來,然后結合切割面具備的深度,對體素的可視性進行明確。
1993年,Cullip等人提出三維紋理硬件直接體的可視化方法,主要由紋理生成、三線性插值以及圖像合成三部分組成。
三維紋理圖是三維數據場自身將紋理內存裝入其中。其中,物體空間坐標的原點與數據的中心重合,物體空間的3根坐標軸與幾個邊界都平行。
在紋理空間的內部,對于多邊形可以采樣進行定義。采樣的多邊形不但平行,而且與視線的方向垂直。這些采樣多邊形與原始數據相比,無論是在間隔上還是密度上都不一樣。若想取得多邊形采點數值,要供助三線性插值,即重采樣,才能夠獲得平行多邊形的各個采樣點的數值。
有效運用給定的傳遞函數,將多邊形采樣點的各個數值變為不透明度的值和有關的顏色值;利用硬件混合的功能,結合混合函數進行有機合成,以至在投影視平面的作用下形成所要的圖像[2]。
此方法無論是圖像合成還是三線性插值(重采樣),都是由硬件完成全過程的。因此,節省了大量的繪制時間。當前,圖像合成作為繪制方法,具有既直接又快速的優點。
當前,體繪制技術已經被廣泛應用。三維物體一些細節信息,能夠通過體繪制技術進行顯示。但是,該技術不但計算量大,而且計算時間較長,實時性相對較差,很難滿足人機交互的需求[3]。
在計算機系統中,無論是片元渲染器集成,還是集成點元渲染器,圖形顯示卡都能夠有效地實現。片元渲染器能夠完成像素的著色功能,點元渲染器能夠有效地實現三角形定點幾何變化。在渲染紋理方面,可編程圖形顯示卡能夠支持依賴紋理功能和繪制紋理功能兩個重要特征[4]。
利用硬件加速進行體繪制,將紋理用待切割數據表示,儲存到圖形計算。三維切割中,能夠有效加快人機交互的速度。基于硬件加速的三維數據切割的全過程,如圖1所示。

圖1 基于硬件加速的三維數據切割的全過程
對于完成三維物體切割而言,圖元是否在切割體內的判斷非常關鍵。實際操作過程中,切割數據可以運用體數據蒙版來完成。此過程分3個步驟。第一,初始化操作三維數據的切割,修改三維數據,并定義切割體屬性和位置,在圖形顯卡中輸入切割的數據。針對數據切割初始化,必須產生一塊數據空間,尺寸與體數據相同,再結合三維體系統中數據點的數值,初始化需要切割的紋理。設不顯示數據點數值為0,設待顯示數據點數值為1,切割紋理用體數據蒙版表示進行有效的處理。有關體數據可以運用數據點的置位直接進行操作而不需要顯示,使切除和恢復操作得以有效實現[5]。第二,修改數據和屬性定義會涉及幾個坐標之間的互相轉換,再結合切割體中的其他點與此點位置的關系,能夠計算切割后的位置屬性和切割數據。另外,運用介紹的位置,能夠快速實現切除和恢復三維數據。第三,在可編程圖形的顯示卡中,將切割數據輸入顯存,Fragmentshader運用GLSG來寫,提取三維切割紋理;渲染繪制這些紋理前需要先判斷,若為0,不需要繪制操作,被切除就是顯示的結果[6]。
實驗可以證明,三維數據的尺寸如果不太大,將切割紋理加入,對人機交互實時性的影響并不大。但是,數據尺寸如果較大,圖型顯示卡大小對其進行限制,將降低該方法的時間效率,致使人機交互實時性受到影響。因此,此方法必須在良好切割質量得以有效實現的前提下,才能有效實現較好的實時交互性[7]。
[1] 王一博.飛秒激光雙光子聚合加工中的三維AMF模型處理技術研究[D].長春:長春工業大學,2017.
[2] 龍立敦.基于體感交互的公路真三維設計系統關鍵技術研究[D].廣州:華南理工大學,2016.
[3] 孫 康.三維激光彩色掃描測距系統設計與三維點云模型重建[D].大連:大連理工大學,2016.
[4] 魏江明,張學軍,唐久磊.基于科學探究活動資源的化學虛擬實驗系統設計研究[J].化學教育,2015,36(11):48-51.
[5] 施益強,吳麗娜,吳陳鋒.基于GIS的雷達數據三維可視化與預警系統設計與實現[J].國土資源遙感,2013,25(1):171-175.
[6] 李晴晴,李治洪,段玉山.基于三維GIS的地理教學輔助系統設計與開發[J].地理教學,2012,(7):4-7,12.
[7] 曾 亮.三維設計技術在國內電廠設計中的研究及應用[D].長沙:中南大學,2010.