專利名稱:一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法。
背景技術(shù):
虛擬現(xiàn)實(shí)(Virtual Reality,簡(jiǎn)稱VR)技術(shù)是一種關(guān)于對(duì)現(xiàn)實(shí)世界的模擬、逼真體驗(yàn)的綜合技術(shù)和方法。它涉及計(jì)算機(jī)圖形學(xué)、人機(jī)接口、傳感及人工智能等不同領(lǐng)域的知識(shí)。由于人類80%的信息是由視覺獲得,所以,對(duì)現(xiàn)實(shí)世界的視覺模擬和逼真視覺體驗(yàn),是虛擬現(xiàn)實(shí)系統(tǒng)重要的組成部分。三維幾何造型技術(shù)、基于物力的建模技術(shù)、圖像與圖形相結(jié)合的技術(shù)、高效的真實(shí)感圖形渲染技術(shù)等關(guān)鍵技術(shù)已經(jīng)成為研究的熱點(diǎn)問題。虛擬現(xiàn)實(shí)是一項(xiàng)應(yīng)用技術(shù),目前已被廣泛應(yīng)用于軍事、航天、設(shè)計(jì)、生產(chǎn)制造、信息管理、商貿(mào)、建筑、醫(yī)療保險(xiǎn)、危險(xiǎn)及惡劣環(huán)境下遙控操縱、教育與培訓(xùn)、信息可視化以及遠(yuǎn)程通訊等多種領(lǐng)域。
在虛擬現(xiàn)實(shí)領(lǐng)域中,點(diǎn)云模型已經(jīng)成為一種比較流行的模型。由于各類采集設(shè)備的發(fā)展,包括三維激光掃描、醫(yī)學(xué)圖像、遙感等,在現(xiàn)實(shí)應(yīng)用中得到了大量的由三維空間物體采樣點(diǎn)數(shù)據(jù)組成的物體模型。對(duì)點(diǎn)云模型圖形學(xué)技術(shù)的研究不斷發(fā)展,這些模型可以直接用于顯示渲染、動(dòng)態(tài)變形、碰撞檢測(cè)等。由于點(diǎn)云模型的直接采樣數(shù)據(jù)規(guī)模很大,點(diǎn)數(shù)據(jù)之間沒有鄰接關(guān)系,在上述應(yīng)用中也遇到很多問題需要解決。一般的方法是通過點(diǎn)數(shù)據(jù)建立Delauney圖進(jìn)而構(gòu)造三角網(wǎng)格曲面,這類途徑往往極為費(fèi)時(shí),同時(shí)在采樣間隙、多物體環(huán)繞等方面難以控制拓?fù)涞母淖儯捎趲缀谓Y(jié)構(gòu)的復(fù)雜性,在實(shí)時(shí)碰撞檢測(cè)等應(yīng)用中也難以應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供一種快速的層次逼近方體復(fù)形生成方法,該方法同時(shí)生成一個(gè)點(diǎn)云模型的逼近網(wǎng)格曲面流形。
本發(fā)明的技術(shù)解決方案點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于需要建立點(diǎn)云模型的包圍體,然后對(duì)包圍體進(jìn)行剖分得到子方體,根據(jù)控制準(zhǔn)則刪除空方體得到新的層次的逼近方體復(fù)形和網(wǎng)格曲面流形,在未達(dá)到逼近精度時(shí)繼續(xù)進(jìn)行剖分,重復(fù)以上逼近刪除過程直至得到符合逼近要求的方體復(fù)形與網(wǎng)格曲面流形。
具體步驟如下(1)建立一個(gè)點(diǎn)云模型的包圍體作為第一層的逼近方體復(fù)形。這個(gè)復(fù)形僅有一個(gè)方體,其表面的六個(gè)長(zhǎng)方形組成第一層的網(wǎng)格曲面流形。
(2)將當(dāng)前層次的方體復(fù)形中的每個(gè)方體剖分,由剖分后的方體形成新的層次的方體復(fù)形,建立層次之間方體的父子關(guān)系和同父子方體之間的鄰接關(guān)系。
(3)計(jì)算點(diǎn)云模型中的采樣點(diǎn)屬于新層次方體復(fù)形的哪一個(gè)方體,同時(shí)標(biāo)記這個(gè)方體為非空方體。
(4)建立具有不相同父親的子方體之間的鄰接關(guān)系。
(5)根據(jù)控制準(zhǔn)則刪除空方體,采用漫延的方式刪除相鄰空方體。刪除完成后得到新的層次逼近方體復(fù)形和網(wǎng)格曲面流形。
(6)檢查新層次方體復(fù)形是否達(dá)到預(yù)定的層次數(shù)和逼近精度(方體的邊長(zhǎng)),如未達(dá)則轉(zhuǎn)到步驟(2),否則,結(jié)束運(yùn)行,輸出各個(gè)層次的逼近方體復(fù)形和網(wǎng)格流形。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于(1)采用剖分包圍體刪除空方體的方法實(shí)現(xiàn)層次逼近,使用控制準(zhǔn)則保證逼近過程中外面網(wǎng)格曲面保持流形特性,避免采用具體的采樣點(diǎn)為頂點(diǎn)的復(fù)形生成方法的復(fù)雜計(jì)算量,具有快速生成方體復(fù)形的特點(diǎn)。
(2)本發(fā)明的逼近方體復(fù)形的外面集是二維方體復(fù)形,在逼近控制準(zhǔn)則的約束下成為網(wǎng)格曲面流形。這類快速生成的逼近網(wǎng)格曲面可以很好反映物體在一定分辨率下的拓?fù)浜蛶缀涡再|(zhì)。此類生成網(wǎng)格流形的方法較三角面片方法更為快速有效,并且具有可以計(jì)算控制整體拓?fù)湫再|(zhì)的優(yōu)勢(shì)。
(3)本發(fā)明針對(duì)點(diǎn)云模型由基本采樣點(diǎn)組成的特性,采用迭代的方法分解方體,然后掃描采樣點(diǎn)分配將每個(gè)采樣點(diǎn)從所包含的方體分配到子方體中,同時(shí)標(biāo)記出空方體。該類方法具有線性復(fù)雜性并且可以利用當(dāng)前層次的方體包含關(guān)系計(jì)算剖分后子方體的包含關(guān)系,可以很快地標(biāo)記方體空屬性。
(4)當(dāng)一個(gè)不影響拓?fù)渥兓姆襟w刪除時(shí),依據(jù)方體的鄰接關(guān)系圖,刪除其周圍的不影響拓?fù)渥兓姆襟w,這種方式稱為漫延式刪除方法,利用該方法可以使逼近過程最少的出現(xiàn)孔洞,這樣逼近方體復(fù)形和網(wǎng)格曲面不會(huì)產(chǎn)生大量奇異的拓?fù)涓淖儭M瑫r(shí),也可以提供交互操作的軟件在逼近過程中進(jìn)行拓?fù)涓淖兊目刂啤?br>
圖1為本發(fā)明中的逼近方體復(fù)形生成流程示意圖;圖2為本發(fā)明中的方體屬性描述圖;圖3為本發(fā)明中的方體鄰接關(guān)系描述圖;圖4為本發(fā)明中的逼近方體集層次分類圖;圖5為本發(fā)明中的方體剖分處理流程圖;圖6為本發(fā)明中的方體刪除分?jǐn)嗯袛嗍疽鈭D;圖7為本發(fā)明中的方體鄰接表;圖8為本發(fā)明中的方體張力系數(shù)示意圖。
具體實(shí)施例方式
圖1為本發(fā)明中的逼近方體復(fù)形生成流程示意圖,通過流程中的方向線段標(biāo)示了實(shí)現(xiàn)逼近方體復(fù)形的生成過程。圖5中將整個(gè)逼近方體復(fù)形的處理方法分為三個(gè)大的部分,同時(shí)描述了每個(gè)部分的具體處理方法。下面結(jié)合圖1和圖5具體說明本發(fā)明的實(shí)施過程和主要處理方法。
1.通過計(jì)算點(diǎn)云模型中所有采樣點(diǎn)的坐標(biāo)的極大和極小值得到點(diǎn)云模型的包圍體,形成第一個(gè)層次的逼近方體復(fù)形。這個(gè)包圍體是一個(gè)各個(gè)面均與坐標(biāo)軸平行的長(zhǎng)方體,其最小坐標(biāo)的頂點(diǎn)為采樣點(diǎn)各個(gè)坐標(biāo)的最小值,最大坐標(biāo)的頂點(diǎn)為采樣點(diǎn)各個(gè)坐標(biāo)的最大值。
所謂方體復(fù)形是一些方體的集合,各個(gè)方體之間的交集也是方體。所謂方體在本發(fā)明中的定義為0維、一維、二維和三維方體分別指點(diǎn)、線段、長(zhǎng)方形和長(zhǎng)方體。
2.第二階段為方體剖分。方體剖分的過程如圖5(左),剖分方法為使用經(jīng)過方體中心的與坐標(biāo)軸平行的平面,將本層次的方體剖分為8個(gè)子方體。
圖2中本發(fā)明所給出的一種方體頂點(diǎn)編號(hào)(見圖2左圖),棱編號(hào)(見圖2中圖)和一個(gè)方體剖分后的8個(gè)子方體的編號(hào)(見圖2右圖)。
對(duì)上一個(gè)層次的方體進(jìn)行線性掃描,逐一剖分未作刪除標(biāo)記的每個(gè)方體為8個(gè)子方體。剖分一個(gè)方體后,建立剖分子方體的位置屬性(最小頂點(diǎn)),幾何屬性(邊長(zhǎng))和編號(hào),給出每個(gè)剖分子方體的頂點(diǎn)、棱、面的內(nèi)鄰接關(guān)系。面的空間鄰接屬性具有繼承特性,根據(jù)所在父方體的面的空間鄰接屬性給出其內(nèi)面、外面、連接面三類屬性。
方體鄰接關(guān)系表中將方體的鄰接分為三類面鄰接、棱鄰接和頂點(diǎn)鄰接。為了描述的簡(jiǎn)潔,鄰接表中標(biāo)記鄰接方體在父方體中的子方體編號(hào)。頂點(diǎn)鄰接分為產(chǎn)生于父方體的面、棱的頂點(diǎn)和內(nèi)頂點(diǎn)(父方體的中心點(diǎn))、原頂點(diǎn)(該頂點(diǎn)也是父方體的頂點(diǎn))。方體的頂點(diǎn)鄰接對(duì)應(yīng)關(guān)系比較直接鄰接方體號(hào)=8-子方體號(hào)+1,不需要建立鄰接表。方體的面鄰接表和棱鄰接表見圖7。
根據(jù)方體是否屬于同一個(gè)父親又將方體之間的鄰接分為內(nèi)鄰接和外鄰接,內(nèi)鄰接指相鄰的兩個(gè)方體由同一個(gè)方體剖分,外鄰接指相鄰的兩個(gè)方體由不同的方體剖分產(chǎn)生。
圖3中是方體的鄰接關(guān)系描述,圖中指出了外鄰接和內(nèi)鄰接,如果兩個(gè)方體是同一個(gè)方體的子方體,它們之間的鄰接為內(nèi)鄰接,即8個(gè)子方體之間的鄰接。不是同一個(gè)方體剖分得到的方體之間的鄰接則為外鄰接。
每個(gè)三維方體由六個(gè)外表長(zhǎng)方形(稱為二維方體)包圍,如果方體復(fù)形的一些二維方體包圍成一個(gè)有限的空間,則這些二維方體稱為內(nèi)面,如果一個(gè)二維方體是兩個(gè)方體的共享面,則稱為鄰接面,如果一個(gè)二維方體與一個(gè)無(wú)限的空間鄰接,則稱為外面。
3.第三階段為計(jì)算點(diǎn)云模型中的采樣點(diǎn)在新的層次中的所在方體編號(hào),同時(shí)標(biāo)記新層次中方體的空屬性(即是否包含采樣點(diǎn))。首先根據(jù)采樣點(diǎn)在上個(gè)層次中的方體計(jì)算其所在子方體編號(hào),然后由子方體編號(hào)所對(duì)應(yīng)的新的層次中的方體編號(hào),給出采樣點(diǎn)的新層次方體復(fù)形中的包含方體編號(hào),設(shè)置該方體的空屬性為假。
4.第四階段為建立具有不同父親的子方體之間的鄰接關(guān)系。這類鄰接關(guān)系通過層次方體之間的繼承關(guān)系和子方體在父方體中的幾何位置來(lái)確定,具體步驟如下(1)確定子方體在父方體中的編號(hào);(2)通過父方體的鄰接屬性確定其那些面與其他方體鄰接,通過方體-方體(面)外鄰接表(圖7)確定當(dāng)前子方體的面是否在這個(gè)鄰接面上,確定其與那個(gè)子方體鄰接,然后確定其編號(hào);(3)通過父方體的鄰接屬性確定其那些棱與其他方體鄰接,通過方體-方體(棱)外鄰接表(圖7)確定當(dāng)前子方體的面是否在這個(gè)鄰接棱上,確定其與那個(gè)子方體鄰接,然后確定其編號(hào);(4)通過父方體的鄰接屬性確定其那些頂點(diǎn)與其他方體鄰接,根據(jù)特性分析,每個(gè)頂點(diǎn)的相鄰關(guān)系都可用下述公式表示i→8-i+1其中i為當(dāng)前的子方體編號(hào),8-i+1為鄰接方體在父方體中的編號(hào)。于是,通過父方體和子方體之間的對(duì)應(yīng)關(guān)系就可以求得當(dāng)前層次方體之間頂點(diǎn)鄰接關(guān)系。
圖7給出了方體之間的內(nèi)、外鄰接關(guān)系表,鄰接表中使用一個(gè)方體作為子方體的編號(hào),同時(shí)對(duì)其鄰接的方體也用子方體編號(hào),同時(shí)將鄰接關(guān)系分為頂點(diǎn)、棱和面的鄰接情況,根據(jù)鄰接關(guān)系的規(guī)律給出了映射關(guān)系表。
5.第五階段為根據(jù)控制準(zhǔn)則刪除空方體生成逼近方體復(fù)形和網(wǎng)格曲面流形,即在新層次的方體復(fù)形中刪除一些空方體,具體步驟如下(1)掃描所有新層次的方體,首先檢查是否為空方體,跳過非空方體。
(2)如果是空方體,則檢測(cè)其鄰域方體是否空方體,根據(jù)張力最小準(zhǔn)則,優(yōu)先跟蹤張力大的鄰域方體去刪除,這個(gè)準(zhǔn)則的具體實(shí)現(xiàn)過程如下當(dāng)多個(gè)空方體鄰接且都符合流形保持準(zhǔn)則時(shí),優(yōu)先刪除其中心遠(yuǎn)離其他方體的空方體,遠(yuǎn)離的特性通過設(shè)計(jì)張力系數(shù)進(jìn)行計(jì)算,張力系數(shù)越大時(shí)該方體越遠(yuǎn)離曲面,當(dāng)需要分析若干個(gè)方體中哪一個(gè)優(yōu)先刪除時(shí),通過計(jì)算比較其張力系數(shù)來(lái)確定,具體公式如下τ(p)=(Σi|p-pi|)·(Σi,jθ(pi,pj))]]>p為方體的中心點(diǎn),pi為在p附近的采樣點(diǎn),θ為夾角張力度量,θ(pi,pj)=1+(p-pi)(p-pi)|p-pi||p-pj|,]]>一個(gè)方體的張力系數(shù)定義為其中心點(diǎn)的張力指數(shù)。公式中|p-pi|表示兩個(gè)點(diǎn)之間的歐氏距離,θ(pi,pj)公式中(p-pi)(p-pj)表示向量的內(nèi)積,這樣 表示ppi和ppj之間的夾角的余弦。在θ(pi,pj)的公式中使用加1可以保證在一些夾角較小時(shí)不會(huì)產(chǎn)生數(shù)值計(jì)算中的零值,影響其它因子的作用。
圖8是張力指數(shù)公式的示意,當(dāng)點(diǎn)p遠(yuǎn)離曲面時(shí),夾角變小使余弦值增大,同時(shí)距離|p-pi|也增加,所以τ(p)公式中的每個(gè)乘積因子(即|p-pi|,θ(pi,pj))都會(huì)增大。
(3)判斷該方體刪除是否與流形結(jié)構(gòu)保持準(zhǔn)則相沖突,如果沖突則跳轉(zhuǎn)至下一個(gè)方體,否則,繼續(xù)下面的處理。保持流形結(jié)構(gòu)的準(zhǔn)則為兩個(gè)基本條件a.方體刪除后不出現(xiàn)兩個(gè)以上外面共有一條公共邊,b.方體刪除后不出現(xiàn)兩個(gè)方體僅有一個(gè)公共頂點(diǎn)鄰接。上述兩個(gè)條件在方體刪除后是否滿足通過檢查其相鄰方體的鄰接情況即可,因?yàn)橐粋€(gè)方體刪除后所影響的鄰接改變只發(fā)生在其相鄰的方體與其它方體之間。
(4)檢查是否為分?jǐn)喾襟w(即該方體的刪除造成方體集分為不連通的部分,見圖6),如為分?jǐn)喾襟w根據(jù)優(yōu)化原則優(yōu)先刪除不產(chǎn)生新的連通分支的分?jǐn)喾襟w,對(duì)刪除方體做刪除標(biāo)記,對(duì)非分?jǐn)喾襟w則直接置刪除標(biāo)記。分析所刪除方體的鄰接關(guān)系,改變與其有鄰接關(guān)系的方體的各類鄰接屬性。如果出現(xiàn)內(nèi)面與外面連通,則需要改變所有該內(nèi)面連通分支的內(nèi)面的屬性為外面。如果產(chǎn)生分?jǐn)?,需要改變所分?jǐn)嗟倪B通分支的標(biāo)記。具體實(shí)現(xiàn)的步驟為①首先檢測(cè)出所有的分?jǐn)喾襟w;②然后刪除那些不會(huì)出現(xiàn)新孤立部分的分?jǐn)喾襟w;③最后根據(jù)需要?jiǎng)h除那些產(chǎn)生新的孤立部分的分?jǐn)喾襟w。
其中②中應(yīng)用分?jǐn)喾襟w的鄰接的方體來(lái)分析是否出現(xiàn)新的孤立部分,因?yàn)榉謹(jǐn)喾襟w的鄰接方體可以分為兩個(gè)部分,每個(gè)部分其之間是相鄰的,但一個(gè)部分的方體與另一個(gè)部分的任一個(gè)方體都不相鄰。通過分析其兩個(gè)部分的方體所在的連通分支在該方體刪除后是否成為獨(dú)立的分支(孤立部分),這樣就可以判斷是否產(chǎn)生了新的孤立部分。
圖6是分?jǐn)喾襟w優(yōu)化刪除的示意,其中b1,b2,b3為分?jǐn)喾襟w,bi′,bi″為與其鄰接但互不相鄰的兩部分方體,通過檢查刪除bi后是否使bi′,bi″分離出整個(gè)方體集就可以判斷是否產(chǎn)生了新的孤立部分。
(5)方體刪除后,使用漫延方法搜索該方體的鄰接方體。如果鄰接方體有空方體,則應(yīng)用上述步驟確定其是否刪除,如果刪除繼續(xù)搜索其鄰接的空方體。
6.最后,檢查是否到達(dá)所指定的剖分層次或當(dāng)前層次是否符合逼近精度,如已經(jīng)達(dá)到所要求的層次則終止計(jì)算,輸出逼近方體復(fù)形和網(wǎng)格曲面流形。如果沒有達(dá)到層次深度,則轉(zhuǎn)到2繼續(xù)進(jìn)行。
最后得到的逼近方體復(fù)形由剖分后方體的屬性可以確定,如圖4所示,進(jìn)行方體刪除后方體可分為三類非空方體、空方體、刪除方體,逼近方體復(fù)形由非空方體和未刪除的空方體組成,刪除的方體在復(fù)形中作出了刪除標(biāo)記,在繼續(xù)進(jìn)行剖分時(shí)僅對(duì)非空方體和未做刪除標(biāo)記的空方體進(jìn)行剖分。
權(quán)利要求
1.一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于包括下列步驟(1)建立一個(gè)點(diǎn)云模型的包圍體作為第一層的逼近方體復(fù)形,這個(gè)復(fù)形僅有一個(gè)方體,其表面的六個(gè)長(zhǎng)方形組成第一層的網(wǎng)格曲面流形;(2)將當(dāng)前層次的方體復(fù)形中的每個(gè)方體剖分,由剖分后的方體形成新的層次的方體復(fù)形,建立層次之間方體的父子關(guān)系和同父子方體之間的鄰接關(guān)系;(3)計(jì)算點(diǎn)云模型中的采樣點(diǎn)屬于新層次方體復(fù)形的哪一個(gè)方體,同時(shí)標(biāo)記這個(gè)方體為非空方體;(4)建立具有不相同父親的子方體之間的鄰接關(guān)系;(5)根據(jù)控制準(zhǔn)則刪除空方體,采用漫延的方式刪除相鄰空方體,刪除完成后得到新的層次逼近方體復(fù)形和網(wǎng)格曲面流形;(6)檢查新層次方體復(fù)形是否達(dá)到預(yù)定的層次數(shù)和逼近精度,即方體的邊長(zhǎng),如未達(dá)到則轉(zhuǎn)到步驟(2),否則,結(jié)束運(yùn)行,輸出各個(gè)層次的逼近方體復(fù)形和網(wǎng)格曲面流形。
2.根據(jù)權(quán)利要求1所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述的步驟(2)中方體剖分的具體步驟如下(1)在方體的中心點(diǎn)沿與方體面平行的方向?qū)⒎襟w切分為8個(gè)相同大小的方體,稱之為原方體的子方體;(2)子方體之間鄰接關(guān)系設(shè)置為非鄰接;(3)子方體包含采樣點(diǎn)的屬性設(shè)置為空。
3.根據(jù)權(quán)利要求1所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述的步驟(2)建立的層次方體復(fù)形中方體的父子關(guān)系和同父子方體間鄰接關(guān)系的步驟如下(1)應(yīng)用方體-方體棱內(nèi)鄰接表計(jì)算子方體的以棱相鄰的關(guān)系;(2)應(yīng)用方體-方體面內(nèi)鄰接表計(jì)算子方體的以面相鄰的關(guān)系;(3)應(yīng)用下述公式計(jì)算子方體的以頂點(diǎn)相鄰的關(guān)系一個(gè)父親的第n個(gè)子方體的第8-n+1個(gè)頂點(diǎn)與其第8-n+1個(gè)子方體鄰接。
4.根據(jù)權(quán)利要求1所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述的步驟(3)計(jì)算點(diǎn)云模型中的采樣點(diǎn)屬于新層次方體復(fù)形的哪一個(gè)方體,同時(shí)標(biāo)記這個(gè)方體為非空方體,具體步驟如下(1)根據(jù)采樣點(diǎn)所隸屬的上一個(gè)層次的方體,計(jì)算其屬于該方體的那一個(gè)子方體;(2)根據(jù)父方體對(duì)子方體的對(duì)應(yīng)關(guān)系,得到采樣點(diǎn)所隸屬的新層次的方體的編號(hào),設(shè)置采樣點(diǎn)與包含方體的隸屬對(duì)應(yīng)關(guān)系;(3)設(shè)置采樣點(diǎn)對(duì)應(yīng)的新層次隸屬方體的空屬性為假,即為非空方體。
5.根據(jù)權(quán)利要求1所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述的步驟(4)中的建立不同父親子方體之間的鄰接關(guān)系,應(yīng)用繼承父方體鄰接關(guān)系的方法進(jìn)行計(jì)算,具體過程如下(1)如果兩個(gè)父方體無(wú)鄰接關(guān)系,則對(duì)子方體不計(jì)算鄰接關(guān)系;(2)如果兩個(gè)父方體鄰接,則根據(jù)子方體的頂點(diǎn)、棱和面是否在父方體的鄰接頂點(diǎn)、棱和面上來(lái)判斷計(jì)算子方體是否與另一個(gè)方體鄰接。
6.根據(jù)權(quán)利要求1所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述的步驟(5)根據(jù)控制準(zhǔn)則確定刪除空方體,具體步驟如下(1)判斷一個(gè)方體是否為空方體,如果為非空方體則不做刪除;(2)判斷空方體是否有相鄰的空方體,如果存在相鄰空方體,分析是否符合遠(yuǎn)離刪除準(zhǔn)則,即與相鄰空方體比較張力系數(shù),如果該空方體張力系數(shù)小于相鄰空方體,則不進(jìn)行刪除;(3)判斷空方體是否符合流形保持準(zhǔn)則,如果不符合則不做刪除;(4)判斷空方體是否為分?jǐn)喾襟w,即造成方體集分割,如果非分?jǐn)喾襟w則進(jìn)行刪除,否則,將該方體記錄到分?jǐn)喾襟w表中;(5)應(yīng)用最少分?jǐn)鄿?zhǔn)則對(duì)分?jǐn)喾襟w表進(jìn)行分析,確定刪除的分?jǐn)喾襟w進(jìn)行刪除。
7.根據(jù)權(quán)利要求6所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述的步驟(3)中的流形保持準(zhǔn)則為方體的刪除不出現(xiàn)兩個(gè)以上外面共有一條公共邊,同時(shí)不出現(xiàn)兩個(gè)方體僅有一個(gè)公共頂點(diǎn)鄰接并且該頂點(diǎn)所在的面都是外面。
8.根據(jù)權(quán)利要求6所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述的步驟(2)中遠(yuǎn)離刪除準(zhǔn)則當(dāng)多個(gè)空方體鄰接且都符合流形保持準(zhǔn)則時(shí),優(yōu)先刪除其中心遠(yuǎn)離其他方體的空方體,遠(yuǎn)離的特性通過設(shè)計(jì)張力系數(shù)進(jìn)行計(jì)算,張力系數(shù)越大時(shí)該方體越遠(yuǎn)離曲面,當(dāng)需要分析若干個(gè)方體中哪一個(gè)優(yōu)先刪除時(shí),通過計(jì)算比較其張力系數(shù)來(lái)確定,具體公式如下τ(p)=(Σi|p-pi|)·(Σi,jθ(pi,pj))]]>p為方體的中心點(diǎn),pi為在p附近的采樣點(diǎn),θ為夾角張力度量,θ(pi,pj)=1+(p-pi)(p-pj)|p-pi||p-pj|]]>,一個(gè)方體的張力系數(shù)定義為其中心點(diǎn)的張力指數(shù)。
9.根據(jù)權(quán)利要求6所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述步驟(4)中的最少分?jǐn)嘣瓌t當(dāng)多個(gè)方體都可以引起方體集分為兩個(gè)不連通的部分時(shí),以最少產(chǎn)生新的分支的原則考慮哪一個(gè)方體優(yōu)先刪除;最少分?jǐn)嘣瓌t通過下列步驟實(shí)現(xiàn)(1)首先檢測(cè)出所有的分?jǐn)喾襟w;(2)然后刪除那些不會(huì)出現(xiàn)新孤立部分的分?jǐn)喾襟w;(3)最后根據(jù)需要?jiǎng)h除那些產(chǎn)生新的孤立部分的分?jǐn)喾襟w。
10.根據(jù)權(quán)利要求1所述的一種點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,其特征在于所述的步驟(5)采用漫延的方式刪除相鄰空方體,具體步驟如下(1)當(dāng)刪除一個(gè)方體后檢查其相鄰的方體的空方體,根據(jù)控制準(zhǔn)則確定是否刪除;(2)繼續(xù)檢查所刪除的方體的相鄰空方體,直至沒有相鄰的空方體。
全文摘要
點(diǎn)云模型逼近方體復(fù)形與網(wǎng)格曲面流形生成方法,(1)建立一個(gè)點(diǎn)云模型的包圍體作為第一層的逼近方體復(fù)形;(2)將當(dāng)前層次的方體復(fù)形中的每個(gè)方體剖分,由剖分后的方體形成新的層次的方體復(fù)形,建立層次之間方體的父子關(guān)系和同父子方體之間的鄰接關(guān)系;(3)計(jì)算點(diǎn)云模型中的采樣點(diǎn)屬于新層次方體復(fù)形的哪一個(gè)方體,同時(shí)標(biāo)記這個(gè)方體為非空方體;(4)建立具有不相同父親的子方體之間的鄰接關(guān)系;(5)根據(jù)控制準(zhǔn)則刪除空方體,刪除相鄰空方體,得到新的層次逼近方體復(fù)形和網(wǎng)格曲面流形;(6)檢查新層次方體復(fù)形是否達(dá)到預(yù)定的層次數(shù)和逼近精度,如未達(dá)則轉(zhuǎn)到步驟(2),否則,輸出各個(gè)層次的逼近方體復(fù)形和網(wǎng)格流形。本發(fā)明具有快速生成逼近方體復(fù)形和網(wǎng)格曲面流形的優(yōu)點(diǎn)。
文檔編號(hào)G06T17/00GK101013509SQ20071006363
公開日2007年8月8日 申請(qǐng)日期2007年2月7日 優(yōu)先權(quán)日2007年2月7日
發(fā)明者趙沁平, 郝愛民, 王希常 申請(qǐng)人:北京航空航天大學(xué)