两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于四邊形折疊的三維網(wǎng)格圖形簡化方法

文檔序號:6555875閱讀:266來源:國知局
專利名稱:一種基于四邊形折疊的三維網(wǎng)格圖形簡化方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖形數(shù)據(jù)處理領(lǐng)域,具體涉及對復(fù)雜的三維圖形數(shù)據(jù)進行簡化的一種基于四邊形折疊的三維網(wǎng)格圖形簡化方法。
背景技術(shù)
隨著科學(xué)技術(shù)的不斷進步,在計算機圖形學(xué)、虛擬現(xiàn)實、計算機輔助設(shè)計、地理信息系統(tǒng)、醫(yī)學(xué)圖形等領(lǐng)域越來越多地應(yīng)用到三維網(wǎng)格圖形,這些圖形動輒產(chǎn)生數(shù)以百萬計的面片,對計算機的存儲容量、處理速度、繪制速度、傳輸效率等都提出很高的要求,然而在很多情況下高分辨率的模型并不總是必要的,這就需要對原始模型進行簡化。
幾何元素刪除法是其中一種重要的圖形簡化方法,其原理是在保持一定的幾何誤差的前提下,刪除對模型幾何特征影響較小的幾何“圖元”(點、邊、面)。“刪除”又分直接刪除、通過合并兩個或多個面來刪除邊或面、對邊或三角形進行折疊等三種情況,移去或刪除操作一直進行到模型不能簡化或達到指定近似誤差為止。
圖形簡化是目前計算機圖形及移動計算上的熱門方向,對這方面的研究出現(xiàn)了不少的成果,但在幾何元素刪除法這方面的相關(guān)成果目前只有基于頂點、邊(如圖1所示)、面(三角形)(如圖2所示)刪除這幾種方法。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于四邊形折疊的三維網(wǎng)格圖形簡化方法,可簡化復(fù)雜的三維圖形數(shù)據(jù),降低對存儲、顯示、傳輸?shù)确矫娴闹笜?biāo)要求。
本發(fā)明一種基于四邊形折疊的三維網(wǎng)格圖形簡化方法,包括步驟①獲取三維圖形的網(wǎng)格信息數(shù)據(jù);②定義并檢索出網(wǎng)格中所含的四邊形;③確定折疊代價最小的四邊形;④折疊化簡操作。
所述的定義并檢索出網(wǎng)格中所含的四邊形是通過邊來檢索,而且排除邊界邊。
所述的確定折疊代價最小的四邊形中采用Garland算法中的二次誤差度量來計算四邊形折疊的代價,由于四邊形折疊需要同時考慮4個頂點移動后造成的誤差,本方法以進行折疊操作的四邊形4個頂點的誤差之和作為折疊代價。
所述的折疊化簡操作包括新頂點位置的確定,新頂點的位置可以有如下方法選擇(a)子集位置即四邊形四個頂點的其中一個頂點,子集位置由于不產(chǎn)生新頂點,需要存儲及處理開銷較小,適合像移動終端設(shè)備這樣的對簡化效果要求不高,但對處理開銷相對嚴(yán)格的場合;(b)最佳位置由于折疊代價函數(shù)是二次函數(shù),因此可以計算出其最小值作為折疊后的新頂點;如果上述計算無解,則可以選取四邊形的四個頂點或公共邊及外部邊的中點這9個位置中的一點作為新頂點的位置。
所述的折疊化簡操作中對于網(wǎng)格中含有一條或多條邊界邊的邊界四邊形作以下處理在該三角形集合的每條邊界邊上作一個通過該邊界邊并與該邊界邊所在的邊界三角形垂直的平面a,在計算折疊代價時要考慮新頂點到平面a的距離,保證新頂點不會偏離邊界,保持了圖形的邊界。
本發(fā)明一種基于四邊形折疊的三維網(wǎng)格圖形簡化方法具有以下幾個方面的特點(1)提出兩個以公共邊相連的三角形可以構(gòu)成一個四邊形,以四邊形折疊為基本操作,是一種間接(非三角網(wǎng)格圖形原有基本圖元)的簡化方法。
(2)操作上Garland的邊折疊算法的每次邊折疊減少1個頂點與2個三角形面片,周昆的三角形折疊算法的每次折疊減少2個頂點和4個三角形面片相比,本文算法一次四邊形折疊能減少3個頂點及6個三角形面片,相當(dāng)于3次邊折疊和1.5次三角形折疊的效果,具有更高的折疊效率,從而實現(xiàn)比邊折疊算法和三角形折疊算法更快的簡化速度。
(3)誤差計算上采用Garland的QEM(二次誤差量度)即以新頂點到舊平面的距離平方和作為頂點移動的誤差代價,由于可以通過矩陣疊加簡單地計算出誤差值,時間復(fù)雜性上與Garland、周昆的算法處于同等數(shù)量級,所以算法誤差計算效率十分高。
如上所述,本方法不僅可以簡化復(fù)雜的三維圖形數(shù)據(jù)降低對存儲、顯示、傳輸?shù)确矫娴闹笜?biāo)要求,而且與已有方法相比,具有更高的簡化速度,是一種快速高效的三維網(wǎng)格圖形簡化方法。


圖1是本發(fā)明的控制流程圖;圖2是邊折疊;圖3是三角形折疊;圖4是四邊形折疊;圖5是邊界處理作垂直平面a;圖6是三維球模型進行一次四邊形折疊的效果;
圖7是三維球形模型的簡化;圖8是人頭模型的簡化;圖9是鯊魚模型的簡化。
具體實施例方式
下面結(jié)合附圖對本發(fā)明的的三維網(wǎng)格圖形簡化方法作詳細描述。
如圖1所示是該發(fā)明的一個實施方案的控制流程圖,主要包括以下步驟獲取三維圖形的網(wǎng)格信息數(shù)據(jù)、檢索出網(wǎng)格中所含的四邊形、確定折疊代價最小的四邊形、折疊化簡。下面作詳細介紹。
(1)四邊形的定義與檢索算法中定義的四邊形并不是網(wǎng)格模型的基本圖元,而是由兩個相連的三角形組合而成,在執(zhí)行算法的時候,四邊形就可以通過網(wǎng)格模型的邊得到,每條邊都對應(yīng)兩個相連的三角形,即都對應(yīng)著一個由它們組合成的四邊形,該邊則為這個四邊形的公共邊;由于邊界邊只對應(yīng)一個三角形,也即不存在以之為公共邊的四邊形,因此,在通過邊檢索四邊形的時候,需要排除邊界邊。
(2)基于四邊形的折疊操作由圖4可見,四邊形QUAD{v7,v8,v9,v10}是由兩個三角形T{v7,v8,v10}及T{v8,v9,v10}通過公共邊E{v8,v10}連接而成。簡化的基本操作是四邊形折疊,在圖(a)中,對四邊形QUAD{v7,v8,v9,v10},找到與之相關(guān)的三角形集合CQ,對QUAD{v7,v8,v9,v10}執(zhí)行折疊操作,則其四個頂點v7,v8,v9,v10收縮為圖(b)中的v0,執(zhí)行該次折疊操作,共減少3個頂點和6個三角面片。
(3)四邊形折疊代價的計算簡化的誤差即四邊形折疊的代價,本算法引入Garland算法中的二次誤差度量,即把新頂點到舊頂點相連平面的距離的平方之和作為頂點移動后引起的誤差。
Δ(v)=Δ(υxυyυz1T)=Σp∈planes(v)(pTv)2]]>=Σp∈planes(v)(vTp)(pTv)]]>=Σp∈planes(v)vT(ppT)v]]>=vT(Σp∈planes(v)Kp)v]]>=vTQ(va)v.---(1)]]>其中,KP為4×4對稱矩陣KP=ppT=a2abacadabb2bcbdacbcc2cdadbdcdd2---(2)]]>由于四邊形QUADi折疊需要同時考慮4個頂點移動后造成的誤差,我們以進行折疊操作的四邊形4個頂點va、vb、vc、vd的誤差之和作為誤差量度,即ε(QUADi)=∑Δ(v)=Δ(va→v0)+Δ(vb→v0)+Δ(vc→v0)+Δ(vd→v0)=v(Q(va)+Q(vb)+Q(vc)+Q(vb))vT=vQvT(3)其中,Q(va)、Q(vb)、Q(vc)、Q(vd)皆為4×4的對稱矩陣,Q可以由矩陣疊加得到,因此上式展開可得vTQv =q11x2+2q12xy+2q13xz+2q14x+q22y2+2q23yz+2q24y+q33z2+2q34z+q44(4)(4)新頂點位置進行四邊形折疊操作后,新頂點的位置可以有如下方法選擇(a)子集位置即四邊形四個頂點的其中一個頂點,子集位置由于不產(chǎn)生新頂點,需要存儲及處理開銷較小,適合像移動終端設(shè)備這樣的對簡化效果要求不高,但對處理開銷相對嚴(yán)格的場合。
(b)最佳位置(依據(jù)某種評價指標(biāo)合成的新頂點)
由(4)式可知誤差函數(shù)Δ(v)是二次函數(shù),因此其最小值是個線性問題。由極值的性質(zhì),我們對(4)式中的x,y,z求偏導(dǎo)數(shù),可得方程組(5)∂Δ(v)∂x=∂Δ(v)∂y=∂Δ(v)∂z=0---(5)]]>寫成矩陣的形式,即q11q12q13q14q12q22q23q24q13q23q33q340001v=0001---(6)]]>如果(6)式有解,則新頂點v的位置由式(7)唯一給出v=q11q12q13q14q12q22q23q24q13q23q33q340001-10001---(7)]]>否則,可以選取四邊形QUADi的四個頂點或公共邊及外部邊的中點這9個位置中的一個作為新頂點的位置。
(5)邊界的處理對于非閉合的網(wǎng)格模型,存在含一條或多條邊界邊的邊界四邊形,與其相關(guān)的三角形集合不能構(gòu)成一個三角形環(huán),如忽略邊界的情況,則在簡化過程中會造成邊界退化。為避免這種退化,我們在該三角形集合的每條邊界邊上作一個通過該邊界邊并與該邊界邊所在的邊界三角形垂直的平面。
如圖5示,QUAD{va,vb,vc,vd}是以vavc為公共邊的邊界四邊形,vdvc是網(wǎng)格模型的邊界邊,作平面a垂直三角形T{va,vc,vd},并與T{va,vc,vd}相交于邊vdvc,因此計算vd及vc兩頂點的誤差矩陣Q時,就需要考慮新頂點到平面a的距離,由于計算機結(jié)果與這個垂直平面的選取無關(guān),這樣做就將點到邊界邊的距離加入到誤差測度之中,從而保證新頂點不會偏離邊界,保持了模型的邊界。
基于四邊形折疊的網(wǎng)格簡化算法是采用新的四邊形折疊作為基本簡化操作,以QEM作為誤差量度,根據(jù)圖1和圖4對該方法的控制流程作如描述步驟1.對原始網(wǎng)格中的每條非邊界邊構(gòu)成的四邊形QUADi,計算其誤差矩陣Q;步驟2.對原始網(wǎng)格中的每個四邊形QUADi,通過其誤差矩陣Q計算其折疊后生成的最優(yōu)收縮目標(biāo)點v,并通過vQvT計算其折疊誤差并按順序入棧,棧頂為最小誤差值;步驟3.選取誤差最小的四邊形進行折疊;步驟4.更新與被折疊四邊形相關(guān)的所有信息;步驟5.如果四邊形序列為空或已經(jīng)達到簡化目標(biāo),轉(zhuǎn)到步驟6,否則轉(zhuǎn)步驟3。
步驟6.結(jié)束圖6、圖7、圖8和圖9為該方法的幾組應(yīng)用實例。圖6是三維球模型進行一次四邊形折疊前后的圖形比較。圖7是由2000個三角形網(wǎng)格組成的三維球形模型使用本簡化方法處理后的幾組圖像,左邊是貼面圖,右邊是拓樸結(jié)構(gòu)圖。下表為不同簡化程度所對應(yīng)的面片數(shù)

圖8是人頭模型的簡化,圖9是鯨魚模型的簡化。由以上幾組應(yīng)用實例可以看出本簡化方法將模型簡化了50%以后,仍能夠較好保持模型的邊界特征,具有很好的簡化效果。
權(quán)利要求
1.一種基于四邊形折疊的三維網(wǎng)格圖形簡化方法,包括步驟①獲取三維圖形的網(wǎng)格信息數(shù)據(jù);②定義并檢索出網(wǎng)格中所含的四邊形;③確定折疊代價最小的四邊形;④折疊化簡操作。
2.根據(jù)權(quán)利要求1所述的三維網(wǎng)格圖形簡化方法,其特征是所述的定義并檢索網(wǎng)格中所含的四邊形是通過邊來檢索,而且排除邊界邊。
3.根據(jù)權(quán)利要求1或2所述的三維網(wǎng)格圖形簡化方法,其特征是所述的確定折疊代價最小的四邊形中采用Garland算法中的二次誤差度量來計算四邊形折疊的代價,由于四邊形折疊需要同時考慮4個頂點移動后造成的誤差,本方法以進行折疊操作的四邊形4個頂點的誤差之和作為折疊代價。
4.根據(jù)權(quán)利要求1或2所述的三維網(wǎng)格圖形簡化方法,其特征在于所述的折疊化簡操作包括新頂點位置的確定,新頂點的位置可以有如下方法選擇(a)子集位置即四邊形四個頂點的其中一個頂點,子集位置由于不產(chǎn)生新頂點,需要存儲及處理開銷較小,適合像移動終端設(shè)備這樣的對簡化效果要求不高,但對處理開銷相對嚴(yán)格的場合;(b)最佳位置由于折疊代價函數(shù)是二次函數(shù),因此可以計算出其最小值作為折疊后的新頂點;如以上計算無解,則可以選取四邊形的四個頂點或公共邊及外部邊的中點這9個位置中的一個作為新頂點的位置。
5.根據(jù)權(quán)利要求1或2所述的三維網(wǎng)格圖形簡化方法,其特征在于所述的折疊化簡操作中對于網(wǎng)格中含有一條或多條邊界邊的邊界四邊形作以下處理在該三角形集合的每條邊界邊上作一個通過該邊界邊并與該邊界邊所在的邊界三角形垂直的平面a,在計算折疊代價時要考慮新頂點到平面a的距離,保證新頂點不會偏離邊界,保持了圖形的邊界。
全文摘要
本發(fā)明公開了一種基于四邊形折疊的三維網(wǎng)格圖形簡化方法,包括步驟①獲取三維圖形的網(wǎng)格信息數(shù)據(jù);②定義并檢索出網(wǎng)格中所含的四邊形;③確定折疊代價最小的四邊形;④折疊化簡操作。本方法不僅可以簡化復(fù)雜的三維圖形數(shù)據(jù)降低對存儲、顯示、傳輸?shù)确矫娴闹笜?biāo)要求,而且與已有方法相比,具有更高的簡化速度,是一種快速高效的三維網(wǎng)格圖形簡化方法。
文檔編號G06T15/00GK1822051SQ20061003452
公開日2006年8月23日 申請日期2006年3月21日 優(yōu)先權(quán)日2006年3月21日
發(fā)明者羅笑南, 陳華鴻 申請人:中山大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
穆棱市| 大田县| 松滋市| 德惠市| 长宁区| 达州市| 淮安市| 昆山市| 沂源县| 陆川县| 太仆寺旗| 项城市| 井陉县| 邓州市| 西安市| 新蔡县| 西盟| 海盐县| 雅江县| 久治县| 揭东县| 海晏县| 邛崃市| 房山区| 河曲县| 周口市| 蒙城县| 石阡县| 黄骅市| 紫金县| 台北县| 霍邱县| 德安县| 浠水县| 泗洪县| 永城市| 洪江市| 马山县| 凤城市| 绥江县| 玉田县|