等值面

等值面

所謂等值面是指空間中的一個曲面,在該曲面上函式F(x, y, z)的值等於某一給定值Ft,即等值面是由所有點S = (x, y, z):F(x, y, z) = Ft組成的一個曲面。

簡介

等值面技術在可視化中套用很廣,許多標量場的可視化問題都可歸納為等值面的抽取和繪製,如各種等勢面、等位面、等壓面、等溫面等。等值面技術除生成等值面的幾何表示外,還包括顯示技術,如要考慮合適的光照模型、解決等值面的相互遮擋等。等值面的生成和顯示也是可視化研究中的一個重要領域。

等值面生成算法

Cuberille方法

· Cuberrille等值面方法又稱Opaque Cube算法,最初由Herman等人提出,後來又多次改進。算法主要分為兩個步驟:

· (1) 確定邊界單元

對於規則格線數據,其格線單元可看成是正六面體單元,整個三維數據就是由這種正六面體組成的,這種組成三維圖象的基本正六面體單元稱為體元。對於給定的閾值Ft,遍歷體數據中的各個單元,將組成體元8個頂點上的值與Ft進行比較,找出頂點值跨越Ft的所有體元,即體元中有的頂點值大於閾值,有的頂點值小於閾值,因此體元內包含等值面片,這就是邊界單元。

(2) 繪製各邊界單元的6個多邊形面,即將等值面看成是由各單元的六個外表面拼合而成

每個單元均為一正六面體,包括6個多邊形面。對組成所有邊界體元的多邊形面進行繪製,即可產生最終的圖象結果。在繪製多邊形過程中應採用合適的光照模型和消隱技術。

如果在具有硬體深度快取(Z-buffer)功能的計算機上運行立方體方法,可以將這組多邊形不分次序地提交給硬體,由硬體完成消除隱藏面的任務。如果以軟體方式執行立方體方法,在算法中必須考慮多邊形的遮擋問題。一個有效的方法是把遍歷體元集合與顯示兩個步驟合二為一,遍歷體元集合時採用從後至前的次序。發現一個邊界體元,就立刻顯示它的6個面。後顯示到螢幕上去的多邊形將覆蓋先顯示的多邊形,這樣就達到了消除隱藏面的目的,這就是畫家算法的思想。

Marching Cubes(MC)方法

Marching Cubes(移動立方體)方法是由W.E.Lorenson和H.E.Cline在1987年提出來的。由於這一方法原理簡單,易於實現,目前已經得到了較為廣泛的套用,成為三維數據等值面生成的經典算法,Marching Cubes算法又簡稱為MC算法。MC方法的原理如下:

在Marching Cubes方法中,假定原始數據是離散的三維空間規則數據,一個體元定義為由相鄰層上的8個頂點組成的一個長方體。為了在三維數據中構造等值面,應先給定所求等值面的值,該方法的基本原理是逐個處理所有的體元,將體元各頂點處的值與給定的閾值進行比較,首先找出與等值面相交的體元,然後通過插值求等值面與體元棱邊的交點,並將各交點連成三角形來構成等值面片,所有體元中的三角形集合就構成了等值面。由於這一方法是逐個處理所有的體元,因此被稱為Marching Cubes方法。

Marching Tetrahedra (MT)方法

Marching Tetrahedra方法簡稱為MT方法,亦稱四面體剖分法,它是在MC方法的基礎上發展起來的。該方法首先將立方體單元剖分為四面體,然後在其中構造等值面。提出這種方法的原因很多。首先,由於四面體是最簡單的多面體,其它類型的多面體都能剖分為四面體。其次,將立方體剖分為四面體後,在四面體中構造的等值面的精度要比在立方體中構造的等值面要高。而最直接的原因是企圖通過在四面體內構造等值面來避免MC方法中存在的二義性問題。

剖分立方體方法

在W.E.Lorenson和H.E.Cline於1987年提出Marching Cubes方法之後不久,他們就發現,當離散三維數據的密度很高時,由Marching Cubes方法在體元中產生的小三角面片常常很小,在圖像空間中的投影面積與螢幕上一個像素點的大小差不多,甚至還要小,因此,通過插值來計算小三角面片是不必要的。隨著新一代CT和MRI等設備的出現,二維切片中圖象的解析度不斷提高,斷層不斷變薄,已經接近並超過計算機螢幕顯示的解析度。在這種情況下,常用於三維表面生成的Marching Cubes方法已不適用。於是,在1988年,仍由W.E.Lorenson和H.E.Cline兩人提出了剖分立方體(Dividing Cubes)方法。

相關詞條

相關搜尋

熱門詞條

聯絡我們