国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種新的三維模型表示與存儲方法

2016-08-30 06:19矯宇鵬魏巍劉尚武
軟件 2016年5期
關鍵詞:體素

矯宇鵬 魏巍 劉尚武

摘要:利用三維模型三角面片的點面信息,對模型進行基于體素的規(guī)格化表示,重新構建三維模型。對在同一平面的相鄰兩個規(guī)格化三角面片進行合并,構成新的四邊形面片,由此獲得由三角面片和四邊形面片混合顯示的三維模型。分別對三角面片和四邊形面片進行分類和編碼,探索三角面片與四邊形面片混合存儲的方法。實驗結果表明,該方法能夠在規(guī)格化三角面片存儲方法的基礎上,進一步壓縮三維模型的存儲空間,提高存儲效率。

關鍵詞:體素;三角面片;四邊形面片;規(guī)格化

中圖分類號:TP391.41 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2016.05.002

本文著錄格式:矯宇鵬,魏巍,劉尚武.一種新的三維模型表示與存儲方法[J].軟件,2016,37(5):07-10

引言

近年來,三維模型應用廣泛,對計算機三維模型的表示和存儲方法的研究一直是計算機圖形領域的研究熱點。常用的三維模型表示方法有點云模型,網格模型,面片模型等。對于不同的模型表示方法,存儲空間各不相同。對于復雜的三維模型,無論采用何種現(xiàn)有的模型表示方法,其占用的存儲空間均比較大,這給三維模型的數(shù)據(jù)傳輸和實時處理帶來了很大不便。

本文提出了一種基于體素的三維模型表示方法,可將三維模型基于體素大小構建為不同分辨率的面片表示。通過考察規(guī)格化為體素內的三角面片之間的關系,探討了用規(guī)格化三角面片和規(guī)格化后位于同一平面的兩個三角面片構成的四邊形來存儲三維模型的方法。實驗結果表面,這種方法可以有效的壓縮三維模型的存儲空間。

1.三維模型的重新構建

1.1三角面片信息提取

目前,多數(shù)三維模型采用的是三角面片模型構建的方法。該方法建模的模型中一般包括兩類表信息,分別是點表信息和面表信息。前者存儲了三維模型中所有頂點的三維坐標,后者給出了組成三角面的三維頂點有哪些。三維模型重建需要把模型中的點、面信息提取出來。

1.2基于體素的模型表面面片劃分

傳統(tǒng)基于三角面片構建的三維模型中,每個三角面片都毫無規(guī)律可循。為使其進一步規(guī)格化,把所有三角面片劃分為基于體素大小的三角面片。

體素,即在空間坐標系中,自定義單位棱長的立方體。每個體素中有8個頂點,任意3個頂點都可以構成一個三角面片,并且總數(shù)是一定的。體素的棱長為自定義數(shù)值,可以自由控制體素的大小,以便構建不同分辨率的三維模型。由于三角面片的大小形狀已知,可以對每個三角面片進行標記,這樣更容易尋找三角面片之間的規(guī)律,同樣對構成三維模型的三角面片也更容易標識和整理。體素的優(yōu)點在于,能夠把不規(guī)則的面片劃分為已知的規(guī)則的三角面片。

1.3三維模型規(guī)格化

三維模型規(guī)格化定義為:把由不規(guī)則三角面片組成的三維模型,沿X、Y和z三個坐標軸方向切分為基于體素的三維模型,即規(guī)格化后的三維模型表面是由一系列位于體素頂點構成的三角面片組成。具體規(guī)格化步驟如下:

第一步:分層。對三維模型進行分層處理,每層的寬度即為體素的棱長,可根據(jù)實際需要來確定。分層時,首先沿空間坐標軸找出三維模型中三個方向的最邊緣的點,并以這三個點作為起點,以體素的棱長作為寬度對模型進行依次切割。切割完成后,得到的是三維模型基于體素的表示。

第二步:取點。原三角面片模型被基于體素的切割劃分之后,尋找面片與切割線的交集,并按近似值確定新三角面片的各點信息。最后把得到的三角面片各點信息保存為文本格式。

在模型取點的過程中,為了最大程度還原三維模型的本來面貌,減少失真率,需要不斷根據(jù)取點的準確性來調整分層的寬度,即體素的大小。圖1給出了單層的三角面片。同時,還要保證每個點都能取到,沒有任何分割線上的點剩余。按此方法,最終得到一個分層次,基于體素的三角面片構成的三維模型。對Bunnv模型進行了規(guī)格化,如圖2所示,規(guī)格化后的模型中,所有的三角面片都是已知的,如圖2所示。

規(guī)格化的方法對于三維模型精度的要求可以通過調整體素的大小來解決。由于體素的棱長為自定義數(shù)值,其大小可以根據(jù)實際需求來設置。最理想的狀況是整個模型中體素大小統(tǒng)一。對于模型中難以表達的細節(jié),可以用縮小體素,即用小體素表示。當體素細化到一定程度,顯示三維模型時的失真率就會接近最小值。

1.4三角面片合并為四邊形

規(guī)格化后的三角面片大量存在于同一平面內。為了方便模型的表達,節(jié)省三維模型點面信息的存儲空間,我們將相鄰兩個三角面片進行合并。將原本6個點表示的面片,只需4個點即可。三角面片合并為四邊形的條件如下:

1)兩個三角面片必須相鄰;

2)兩個三角面片必須在同一平面內。

兩個三角面片可以構成一個平面平行四邊形。這樣可以盡可能的減少點面信息的存儲空間。對于不同的三維模型,平面比例越大,則占用的存儲空間越小。圖3給出了規(guī)格化后僅用三角面片表示的三維模型與采用三角面片和四邊形面片混合顯示的三維模型的對比圖。其中混合模型的表示中,綠色區(qū)域為三角面片,藍色區(qū)域表示的是四邊形。

2.三維模型的數(shù)據(jù)壓縮

2.1壓縮前的準備

上述模型的規(guī)格化中提到,規(guī)格化后的三角面片全部是已知的三角面片?,F(xiàn)在,要對這些面片進行分類整理。在體素中,共有8個頂點,任意3個頂點構成一個三角面片,也就是一共有56種三角面片。這56種三角面片就是分類整理的對象。

首先是對連接邊的分類。體素中8個頂點,任意兩點構成一條連接邊。在不考慮重復和方向的情況下,共有13種連接邊。其次,以每條連接邊為基礎,體素中除連接邊兩點外的任意一點為第三點組成三角面片。最終確定每條連接邊下的多個三角面片。在這中間,不同連接邊下會有相同的三角面片。對這種重復不予考慮,依舊按照原方法進行分類。

猜你喜歡
體素
一種基于體素網格的三維點云均勻降采樣方法
基于多級細分的彩色模型表面體素化算法
結合超體素與區(qū)域增長的LiDAR點云屋頂面分割
Dividing cubes算法在數(shù)控仿真中的應用
運用邊界狀態(tài)約束的表面體素加密細分算法
基于距離場的網格模型骨架提取
基于體素格尺度不變特征變換的快速點云配準方法
基于體素模型的3D打印支撐算法
MR擴散加權成像體素內不相干運動模型對于乳腺良惡性病變診斷價值的研究
LED體三維顯示BCC采樣體素化