亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于處理三維模型數(shù)據(jù)的方法和裝置的制作方法

文檔序號:6445191閱讀:216來源:國知局
專利名稱:用于處理三維模型數(shù)據(jù)的方法和裝置的制作方法
用于處理三維模型數(shù)據(jù)的方法和裝置技術(shù)領(lǐng)域
本發(fā)明總體涉及計(jì)算機(jī)圖形圖形的網(wǎng)絡(luò)傳輸和顯示,尤其涉及三維面片模型中的面片數(shù)據(jù)的處理。
背景技術(shù)
三維(3D)圖形廣泛用于諸如虛擬世界、電子游戲等多媒體應(yīng)用中。三維圖形通常是用三維模型表示的,而面片模型(mesh model)是一種常用的三維模型。一般來說,用于表示面片模型的面片數(shù)據(jù)(mesh data)的數(shù)據(jù)量相當(dāng)龐大。在基于因特網(wǎng)的3D圖形應(yīng)用中,往往需要通過網(wǎng)絡(luò)從一個(gè)源計(jì)算機(jī)(例如服務(wù)器)向一個(gè)目標(biāo)計(jì)算機(jī)(例如客戶機(jī))傳送大量的面片數(shù)據(jù)。在網(wǎng)絡(luò)的帶寬資源有限的情況下,源計(jì)算機(jī)向目標(biāo)計(jì)算機(jī)發(fā)送的面片數(shù)據(jù)量如果過大,有可能不能被及時(shí)傳送,導(dǎo)致相應(yīng)的三維圖形不能被及時(shí)顯示,對用戶體驗(yàn)產(chǎn)生不利影響。多媒體應(yīng)用的用戶希望即使在帶寬資源有限的情況下,也能以令人滿意的速度在計(jì)算機(jī)網(wǎng)絡(luò)上傳輸面片數(shù)據(jù)。
現(xiàn)有技術(shù)中存在一種漸進(jìn)式傳輸面片模型數(shù)據(jù)的方法,例如,“ProgressiveMesh”(H.Hoppe,ACM SIGGRAPH 1996 Proceedings) 一文中提出了一種傳輸 3D 面片模型的方法。該方法將3D面片模型轉(zhuǎn)換成層次化的面片(Hierarchical mesh),存儲在服務(wù)器中。一個(gè)層次化的面片包含若干個(gè)子面片(submesh)。每個(gè)子面片均含有3D面片模型的部分信息,具有不同的信息量。通過傳輸每個(gè)子面片,3D面片模型的數(shù)據(jù)被漸進(jìn)地傳輸?shù)浇邮斩?。接收端接收到子面片的信息后,顯示相應(yīng)的三維圖形;隨著時(shí)間的推移,接收端顯示的三維圖形與原始3D面片模型越來越接近,直到完全相同?,F(xiàn)有技術(shù)的上述方法,在傳輸子面片時(shí),需要同時(shí)發(fā)送原始3D面片模型的頂點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)。發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是改進(jìn)在計(jì)算機(jī)網(wǎng)絡(luò)上傳送面片模型的面片數(shù)據(jù)的方式,提高在接收數(shù)據(jù)的目標(biāo)計(jì)算機(jī)上顯示3D圖形的速度。
一方面,提供一種用于處理三維模型數(shù)據(jù)的方法,包含:獲取原始面片模型的面片數(shù)據(jù);用預(yù)定的面片模型構(gòu)造算法,由原始面片模型的頂點(diǎn)數(shù)據(jù)構(gòu)造一個(gè)衍生面片模型;比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),獲得衍生面片模型的誤差數(shù)據(jù);發(fā)送與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù);發(fā)送衍生面片模型的誤差數(shù)據(jù)。
另一方面,提供一種用于處理三維`模型數(shù)據(jù)的方法,包含:接收用于呈現(xiàn)三維面片模型的數(shù)據(jù);響應(yīng)于所接收的數(shù)據(jù)是與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),執(zhí)行下述操作:用預(yù)定面片模型構(gòu)造算法,根據(jù)與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),構(gòu)造衍生面片模型;根據(jù)所構(gòu)造的衍生面片模型,顯示三維面片模型;以及響應(yīng)于所接收的數(shù)據(jù)是衍生面片模型的誤差數(shù)據(jù),用所接收的誤差數(shù)據(jù)修正當(dāng)前顯示的三維面片模型。
另一方面,提供一種用于處理三維模型數(shù)據(jù)的裝置,包含:數(shù)據(jù)獲取單元,被配置以獲取原始面片模型的面片數(shù)據(jù);面片模型構(gòu)造單元,被配置以用預(yù)定的面片模型構(gòu)造算法,由原始面片模型的頂點(diǎn)數(shù)據(jù)構(gòu)造一個(gè)衍生面片模型;比較單元,被配置以比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),獲得衍生面片模型的誤差數(shù)據(jù);頂點(diǎn)數(shù)據(jù)發(fā)送單元,被配置以發(fā)送與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù);誤差數(shù)據(jù)發(fā)送單元,被配置以發(fā)送衍生面片模型的誤差數(shù)據(jù)。
另一方面,提供一種用于處理三維模型數(shù)據(jù)的裝置,包含:
數(shù)據(jù)接收單元,被配置以接收用于呈現(xiàn)三維面片模型的數(shù)據(jù);數(shù)據(jù)類型判斷單元,被配置以判斷數(shù)據(jù)接收單元所接收的數(shù)據(jù)的類型;面片模型構(gòu)造單元,被配置以響應(yīng)于所接收的數(shù)據(jù)是與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),用預(yù)定面片模型構(gòu)造算法,根據(jù)與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),構(gòu)造衍生面片模型;三維模型呈現(xiàn)單元,被配置以顯示所構(gòu)造的衍生面片模型,其中,三維模型呈現(xiàn)單元進(jìn)一步被配置以響應(yīng)于所接收的數(shù)據(jù)是衍生面片模型的誤差數(shù)據(jù),用所接收的誤差數(shù)據(jù)修正當(dāng)前顯示的三維面片模型。


結(jié)合附圖并參考以下詳細(xì)說明,本發(fā)明各實(shí)施方式的特征、優(yōu)點(diǎn)及其他方面將變得更加明顯,在此以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式。在附圖中:
圖1示出了適于用來實(shí)現(xiàn)本發(fā)明各種實(shí)施方式的示例性計(jì)算系統(tǒng)100的框圖2示意性表示三維圖形的面片模型和面片模型的數(shù)據(jù)表示;
圖3示意性表示按照本發(fā)明一個(gè)實(shí)施例的用于處理三維模型數(shù)據(jù)的流程圖4A示意性表示一個(gè)衍生面片模型;
圖4B-4D示意性表示與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù);
圖5示意性表示按照本發(fā)明一個(gè)實(shí)施例的用于處理三維模型數(shù)據(jù)的方法的流程圖6A-6C示意性表示在目標(biāo)計(jì)算機(jī)202上呈現(xiàn)三維面片模型的過程;
圖7示意性表示按照本發(fā)明一個(gè)實(shí)施例的用于處理三維模型數(shù)據(jù)的裝置的框圖8示意性表示按照本發(fā)明另一個(gè)實(shí)施例的用于處理三維模型數(shù)據(jù)的裝置的框圖。
具體實(shí)施方式
附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施方式的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)單元、程序段、或代碼的一部分,所述單元、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為備選的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
下面將參考若干示例性實(shí)施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。
圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算系統(tǒng)100的框圖。如所示,計(jì)算系統(tǒng)100可以包括:CPU(中央處理單元)101、RAM (隨機(jī)存取存儲器)102、R0M(只讀存儲器)103、系統(tǒng)總線104、硬盤控制器105、鍵盤控制器106、串行接口控制器107、并行接口控制器108、顯示控制器109、硬盤110、鍵盤111、串行外部設(shè)備112、并行外部設(shè)備113和顯示器114。在這些設(shè)備中,與系統(tǒng)總線104耦合的有CPU 10URAM 102, ROM 103、硬盤控制器105、鍵盤控制器106、串行控制器107、并行控制器108和顯示控制器109。硬盤110與硬盤控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設(shè)備112與串行接口控制器107耦合,并行外部設(shè)備113與并行接口控制器108耦合,以及顯示器114與顯示控制器109耦合。應(yīng)當(dāng)理解,圖1所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。例如,計(jì)算系統(tǒng)100可以配置網(wǎng)絡(luò)適配器,以便具有訪問計(jì)算機(jī)網(wǎng)絡(luò)的功能。
圖1所示的計(jì)算系統(tǒng)100,可以用來實(shí)現(xiàn)應(yīng)用于本發(fā)明各實(shí)施例的源計(jì)算機(jī)和目標(biāo)計(jì)算機(jī)。
在說明本發(fā)明的各種實(shí)施方式之前,首先說明三維圖形的面片模型和面片模型的數(shù)據(jù)表示。圖2示意性表示三維圖形的面片模型和面片模型的數(shù)據(jù)表示。
圖2中顯示了一例三維圖形210,該圖形的頭部,可以用標(biāo)記220所指示的3D面片模型(3D mesh model,簡稱“面片模型”)來表示。面片模型220的細(xì)節(jié),由大量的三角形的面構(gòu)成。
標(biāo)記230指示的是一個(gè)簡化的面片模型。面片模型230是一個(gè)由10個(gè)頂點(diǎn)vl_vl0和11個(gè)三角形的面fl-fll構(gòu)成的封閉結(jié)構(gòu)。
標(biāo)記240指示的是面片模型230的頂點(diǎn)列表,其給出了面片模型230的頂點(diǎn)的幾何信息。具體來說,頂點(diǎn)列表240中列出了面片模型230的所有頂點(diǎn){vl、v2、v3...}和每個(gè)頂點(diǎn)的三維坐標(biāo),例如,頂點(diǎn)vl的坐標(biāo)為(xl,yl, zl)。
標(biāo)記250指示的是面片模型230的面列表。面列表250中列出了面片模型230的所有面(fl、f2...)和構(gòu)成每個(gè)面的頂點(diǎn),例如構(gòu)成面fl的頂點(diǎn)為(vl,v2, v3)。
面列表250的等價(jià)形式是邊列表260。邊列表260列出了面片模型230中所有的邊,例如,邊el是連接兩個(gè)頂點(diǎn)vl和v2的邊。邊列表260給出了面片模型230的頂點(diǎn)之間的連接信息。
頂點(diǎn)列表240和面列表250構(gòu)成面片模型230的數(shù)據(jù)集,簡稱面片數(shù)據(jù)。顯然,面片模型230的數(shù)據(jù)集或面片數(shù)據(jù),也可以由頂點(diǎn)列表240和邊列表260代表的數(shù)據(jù)構(gòu)成,即由面片模型的頂點(diǎn)集合和邊集合構(gòu)成。
可以說,面片模型(以下也簡稱為“面片”)是由頂點(diǎn)和頂點(diǎn)之間的邊構(gòu)成的封閉結(jié)構(gòu)。
為了方便說明,以下說明中,將一個(gè)頂點(diǎn)所在的邊,稱為該頂點(diǎn)的鄰接邊,例如邊el和e3都是頂點(diǎn)vl的鄰接邊(adjacent edge),顯然,一個(gè)頂點(diǎn)可以有不止一個(gè)的鄰接邊。將一個(gè)頂點(diǎn)所在的面,稱為該頂點(diǎn)的鄰接面,例如,面Π和f2都是頂點(diǎn)vl的鄰接面(adjacent face),顯然,一個(gè)頂點(diǎn)可以有不止一個(gè)的鄰接面。
圖2的底部簡單地表示了本發(fā)明的應(yīng)用場景。如圖所示,在基于因特網(wǎng)的三維應(yīng)用中,需要通過網(wǎng)絡(luò)203從作為發(fā)送端的源計(jì)算機(jī)(例如服務(wù)器)201向作為接收端的目標(biāo)計(jì)算機(jī)(例如客戶機(jī))202發(fā)送三維圖形的面片數(shù)據(jù)。三維圖形的面片模型的數(shù)據(jù)量通常很龐大(數(shù)量級可達(dá)10兆字節(jié));并且,圖形的精度要求越高,數(shù)據(jù)量越大。這對網(wǎng)絡(luò)203的帶寬提出很高的要求。在帶寬不足的情況下,面片模型的數(shù)據(jù)可能無法及時(shí)從源計(jì)算機(jī)201傳輸?shù)侥繕?biāo)計(jì)算機(jī)202,這樣,就不能及時(shí)地在目標(biāo)計(jì)算機(jī)上呈現(xiàn)三維圖形,從而影響接收端用戶的體驗(yàn)。
發(fā)明人注意到,面片模型的邊的數(shù)量隨著頂點(diǎn)的數(shù)量增加而增加。根據(jù)歐拉公式,對于實(shí)際應(yīng)用中更復(fù)雜的面片模型來說,其邊的數(shù)量有可能近似頂點(diǎn)的數(shù)量的三倍。發(fā)明人發(fā)現(xiàn),在通過計(jì)算機(jī)網(wǎng)絡(luò)傳送面片模型時(shí),源計(jì)算機(jī)201無需同時(shí)發(fā)送關(guān)于頂點(diǎn)數(shù)據(jù)的信息和關(guān)于面/邊數(shù)據(jù)的信息,目標(biāo)計(jì)算機(jī)202也可以漸進(jìn)地顯示三維面片模型。
本發(fā)明的基本構(gòu)思是,源計(jì)算機(jī)201先向目標(biāo)計(jì)算機(jī)202單獨(dú)發(fā)送關(guān)于面片數(shù)據(jù)中的頂點(diǎn)數(shù)據(jù)的信息,再向目標(biāo)計(jì)算機(jī)202發(fā)送關(guān)于面片數(shù)據(jù)中的邊數(shù)據(jù)/面數(shù)據(jù)的信息。
相應(yīng)地,目標(biāo)計(jì)算機(jī)202在收到關(guān)于面片數(shù)據(jù)中的頂點(diǎn)數(shù)據(jù)的信息后,用現(xiàn)有技術(shù)中已有的預(yù)定算法,推測性地構(gòu)造衍生面片模型,并顯示所構(gòu)造的衍生面片模型;在收到關(guān)于面片數(shù)據(jù)中的邊數(shù)據(jù)/面數(shù)據(jù)的信息后,對衍生面片模型進(jìn)行修正。由于無需在發(fā)送關(guān)于頂點(diǎn)數(shù)據(jù)的信息的同時(shí)發(fā)送關(guān)于面/邊數(shù)據(jù)的信息,大量傳輸帶寬將被節(jié)省,關(guān)于頂點(diǎn)數(shù)據(jù)的信息和關(guān)于邊數(shù)據(jù)/面數(shù)據(jù)的信息都能順利和及時(shí)地被傳輸?shù)侥繕?biāo)計(jì)算機(jī)202。當(dāng)關(guān)于頂點(diǎn)數(shù)據(jù)的信息到達(dá)目標(biāo)計(jì)算機(jī)后,目標(biāo)計(jì)算機(jī)根據(jù)關(guān)于頂點(diǎn)數(shù)據(jù)的信息就能推測性地構(gòu)造面片模型,顯示出與原始三維圖形近似的三維圖形;當(dāng)關(guān)于邊數(shù)據(jù)/面數(shù)據(jù)的信息到達(dá)目標(biāo)計(jì)算機(jī)后,目標(biāo)計(jì)算機(jī)能修正已經(jīng)顯示的三維圖形,直到所顯示的三維圖形與原始三維圖形相同。
現(xiàn)在參看圖3,并以圖2所示的面片模型230為例,說明按照本發(fā)明實(shí)施例的用于處理三維模型的面片數(shù)據(jù)的方法。圖3示意性表示按照本發(fā)明一個(gè)實(shí)施例的用于處理三維模型的面片數(shù)據(jù)的方法的流程圖。
圖3所示的方法,可以在源計(jì)算機(jī)上201實(shí)現(xiàn),過程如下。
首先,在步驟S310,獲取原始面片模型的面片數(shù)據(jù)。
原始面片模型是要在目標(biāo)計(jì)算機(jī)202上顯示的面片模型。原始面片模型的面片數(shù)據(jù)包含頂點(diǎn)數(shù)據(jù),以及邊數(shù)據(jù)或面數(shù)據(jù)。
面片模型例如是圖2中的面片模型230,其面片數(shù)據(jù)由頂點(diǎn)列表240和邊列表260代表,或者由頂點(diǎn)列表240和面列表250等同地代表。這些列表的數(shù)據(jù),可以預(yù)先存儲在一個(gè)數(shù)據(jù)庫(未予示出)中。相應(yīng)地,步驟S310可以從該數(shù)據(jù)庫中獲取面片模型的面片數(shù)據(jù)。
在步驟S320,用預(yù)定的面片模型構(gòu)造算法,由原始面片模型的頂點(diǎn)數(shù)據(jù)構(gòu)造一個(gè)衍生面片模型。
現(xiàn)有技術(shù)中,存在各種面片模型構(gòu)造算法,這些算法可以以一個(gè)頂點(diǎn)集合作為輸入,推測性地計(jì)算出一個(gè)衍生面片模型。德洛內(nèi)三角算法(Delaunay triangulation)就是這樣一種算法。類似的其它算法可見于例如“A New Vorono1-Based SurfaceReconstruction Algorithm”(Amenta et al., SIGGRAPH 1998)和“Poisson surfacereconstruction,,(Kazhdan et al., Symposium on Geometry Processing 2006)??梢詮倪@些算法中確定一種算法,作為預(yù)定的面片模型構(gòu)造算法。
按照本發(fā)明一個(gè)實(shí)施例,步驟S320可以選擇德洛內(nèi)三角算法。
德洛內(nèi)三角算法可以根據(jù)一個(gè)頂點(diǎn)集合中頂點(diǎn)之間的空間幾何關(guān)系,生成頂點(diǎn)與頂點(diǎn)之間的邊,由此構(gòu)造一個(gè)個(gè)三角形的面,從而構(gòu)造一個(gè)目標(biāo)面片模型。具體來說,德洛內(nèi)三角算法通過試圖最大化每個(gè)三角形的面的三個(gè)內(nèi)角角度中的最小值,推測性地計(jì)算哪些頂點(diǎn)之間應(yīng)該有連線。德洛內(nèi)三角算法在多數(shù)情況下避免產(chǎn)生形狀過于狹長的三角形(例如至少有一個(gè)內(nèi)角的角度小于10度的三角形)。從大量文獻(xiàn)中的實(shí)驗(yàn)結(jié)果可以得知,在頂點(diǎn)數(shù)量較多的情況下,德洛內(nèi)三角算法可以對頂點(diǎn)之間的邊作出比較準(zhǔn)確的推測。
例如,圖2所示的面片模型230為例,可以用德洛內(nèi)三角算法,由面片模型230的頂點(diǎn)集合VS = Ivl、v2、v3、v4、v5、v6、v7、v8、v9、vl0}作為輸入,構(gòu)造一個(gè)面片模型,即衍生面片模型。該衍生面片模型,如圖4A中的標(biāo)記Mk所示。
如圖4A所示,衍生面片模型Mk與面片模型230不完全相同,但是與面片模型230有一定的相似性。例如,衍生面片模型Mk的頂點(diǎn)vl與v6之間存在一條邊,頂點(diǎn)v7與v8之間存在一條邊,而面片模型230的頂點(diǎn)vl與v6之間沒有邊,頂點(diǎn)v7與v8之間沒有邊。再如,面片模型230的頂點(diǎn)v3與v4之間存在一條邊,頂點(diǎn)v6與v9之間存在一條邊,而衍生面片模型Mk的頂點(diǎn)v3與v4之間沒有邊(如虛線所示),頂點(diǎn)v6與v9之間沒有邊(如虛線所示)。
在步驟S330,比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),獲得衍生面片模型的誤差數(shù)據(jù)。
原始面片模型和面片數(shù)據(jù)是描述原始面片模型的數(shù)據(jù),例如頂點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)/面數(shù)據(jù)。衍生面片模型和面片數(shù)據(jù)是描述衍生面片模型的數(shù)據(jù),例如頂點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)/面數(shù)據(jù)。如上文所述,德洛內(nèi)三角算法是一種推測性算法,根據(jù)該算法由面片模型230的頂點(diǎn)構(gòu)造的衍生面片模型,可能與面片模型230不完全相同,即與原始面片模型230之間存在誤差。
比較原始面片模型230的面片數(shù)據(jù)和衍生面片模型Mk的面片數(shù)據(jù),可以確定這種誤差。
按照本發(fā)明一個(gè)實(shí)施例,所述比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),包含比較原始面片的邊數(shù)據(jù)與衍生面片模型的邊數(shù)據(jù),所述誤差數(shù)據(jù)包含多余邊數(shù)據(jù)和缺失邊數(shù)據(jù),其中,多余邊數(shù)據(jù)包含在衍生面片模型中存在、但在原始面片模型中不存在的邊,缺失邊數(shù)據(jù)包含在原始面片模型中存在、但在衍生面片模型中不存在的邊。
例如,比較面片模型230的邊數(shù)據(jù)與衍生面片模型Mk的邊數(shù)據(jù),可以獲得衍生面片模型Mk的誤差數(shù)據(jù)如下:
多余邊數(shù)據(jù):頂點(diǎn)vl與v6之間的邊,頂點(diǎn)v7與v8之間的邊;
缺失邊數(shù)據(jù):頂點(diǎn)v3與v4之間的邊,頂點(diǎn)v6與v9之間的邊。
一般地,可以按照衍生面片模型中的頂點(diǎn),用下面的表達(dá)式(I)來表示一個(gè)衍生面片模型中的多余邊數(shù)據(jù)V(i,+e):
V (i, +e) = {e (i, I, +), e (i, 2+),...e (i, p+)}......(I)
其中,符號“ + ”表示“多余”,“e(i,l,+)”表示頂點(diǎn)i與頂點(diǎn)I之間的邊是多余邊,...“e(i, P,+) ”表示頂點(diǎn)i與頂點(diǎn)P之間的邊是多余邊。換言之,由表達(dá)式⑴可以表示衍生面片模型的一個(gè)頂點(diǎn)i的鄰接邊中哪些是多余邊。
例如,原始面片模型230中,頂點(diǎn)vl的鄰接邊包含el、e2、e3,即頂點(diǎn)vl和頂點(diǎn)v2、v3與v4之間的邊。在衍生面片模型Mk中,頂點(diǎn)vl還存在另一個(gè)鄰接邊-頂點(diǎn)vl和頂點(diǎn)v6之間的邊,則頂點(diǎn)vl之間v6的邊是多余邊??梢栽诙嘤噙厰?shù)據(jù)V(l,+e)中將該多余邊記為 “{1,6,+}”。
類似地,頂點(diǎn)v7與v8之間的邊也是多余邊,在多余邊數(shù)據(jù)V(7,+e)中,將其記為“ {7,8,+},,。
將一個(gè)有η個(gè)頂點(diǎn)(1...η)的衍生面片模型中的多余邊的集合記為VS1,則
VSl = {V(l, +e), V(2, +e)...V(n, +e)}......(2)。
衍生面片模型Mk的多余邊的集合為:
VSl = {{1,6,+},{7,8,+}}
一般地,可以按照衍生面片模型中的頂點(diǎn),用下面的表達(dá)式(3)來表示一個(gè)衍生面片模型中的缺失邊數(shù)據(jù)V(i,_e):
V(i, -e) = {e (i, I, -), e (i, 2, -),...e (i, p, -)}......(3)
其中,“e(i, I,-) ”表示頂點(diǎn)i與頂點(diǎn)I之間的缺失邊,...“e(i,p,-) ”表示頂點(diǎn)i與頂點(diǎn)P之間的缺失邊。換言之,由表達(dá)式(3)可以表示哪些邊是衍生面片模型的一個(gè)頂點(diǎn)i的鄰接邊中的缺失邊。
例如,在衍生面片模型Mk中,頂點(diǎn)v3與v4之間不存在邊,而原始面片模型230中,v3與v4之間存在邊,因此,頂點(diǎn)v3與v4之間的邊是衍生面片模型的缺失邊??梢栽谌笔н厰?shù)據(jù)V (3,-e)中將該缺失邊記為“ {3,4,-} ”。
類似地,衍生面片模型Mk的缺失邊還有頂點(diǎn)v6與v9之間的邊,可以在缺失邊數(shù)據(jù)V(6,-e)中將其記為“{6,9,-}”。
將一個(gè)有η個(gè)頂點(diǎn)(1...η)的衍生面片模型中的缺失邊的集合記為VS2,則
VS2 = {V(l, -e), V(2, -e)...V(n, -e)}......(4)
例如,對于衍生面片模型Mk來說,VS2 = {{3,4,_},{6,9,-}}。
因此,一個(gè)衍生面片模型的誤差數(shù)據(jù)集合VSE_K = VS1+VS2,即:
VSeeeoe = {V (I,+e),V (2,+e)...V (n, +e),V (I,_e),V (2,_e)...V (n, _e)}
例如,衍生面片模型Mk的誤差數(shù)據(jù)集合VSE_ = {{1,6, +},{7,8, +},{3,4, -},{6,9,-}} ο
按照本發(fā)明另一個(gè)實(shí)施例,所述比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),包含比較原始面片的面數(shù)據(jù)與衍生面片模型的面數(shù)據(jù),所述誤差數(shù)據(jù)包含多余面數(shù)據(jù)和缺失面數(shù)據(jù),其中,多余面數(shù)據(jù)包含在衍生面片模型中存在、但在原始面片模型中不存在的面,缺失面數(shù)據(jù)包含在原始面片模型中存在、但在衍生面片模型中不存在的面。
如上文結(jié)合圖2所述的那樣,邊數(shù)據(jù)與面數(shù)據(jù)之間具有等價(jià)性,根據(jù)上一個(gè)實(shí)施例中比較原始面片的面數(shù)據(jù)與衍生面片模型的邊數(shù)據(jù),不難知道如何比較比較原始面片的面數(shù)據(jù)與衍生面片模型的面數(shù)據(jù),并得出誤差數(shù)據(jù),即多余面數(shù)據(jù)和缺失面數(shù)據(jù)。
以上的步驟S310-S330,都是為要通過網(wǎng)絡(luò)203向目標(biāo)計(jì)算機(jī)202發(fā)送的、用于在目標(biāo)計(jì)算機(jī)202上呈現(xiàn)面片模型的數(shù)據(jù)而作的預(yù)處理。顯然,可以在任何時(shí)候進(jìn)行與處理。預(yù)處理的結(jié)果,可以存儲起來。
執(zhí)行了上述預(yù)處理并存儲了預(yù)處理的結(jié)果后,就可以通過網(wǎng)絡(luò)203向接收端202發(fā)送數(shù)據(jù)。
當(dāng)需要通過網(wǎng)絡(luò)向接收端202發(fā)送數(shù)據(jù)時(shí),首先執(zhí)行步驟S340。
在步驟S340,發(fā)送與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)。
按照本發(fā)明一個(gè)實(shí)施例,與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),是原始面片模型的頂點(diǎn)數(shù)據(jù),例如頂點(diǎn)集合 VS = {vl、v2、v3、v4、v5、v6、v7、v8、v9、vlO}。
或者,與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),也可以是由原始面片模型的頂點(diǎn)數(shù)據(jù)衍生的頂點(diǎn)數(shù)據(jù)。
按照本發(fā)明一個(gè)實(shí)施例,在步驟340之前,可以根據(jù)原始面片模型的頂點(diǎn)數(shù)據(jù),生成衍生的頂點(diǎn)數(shù)據(jù)。相應(yīng)地,在步驟340中,所述與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),可以是所述衍生的頂點(diǎn)數(shù)據(jù)。
下面參看圖4B-4D,說明如何生成衍生的頂點(diǎn)數(shù)據(jù)。圖4B-4D示意性表示與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)。圖4B表示原始面片模型的頂點(diǎn)集合VS。如圖所示,圖4B的虛框中的頂點(diǎn)個(gè)數(shù)和幾何位置,與圖2的面片模型230中的完全相同。
按照本發(fā)明一個(gè)實(shí)施例,可以將頂點(diǎn)集合劃分為若干個(gè)子集VS_1,VS_2...VS_x(x>I),每個(gè)子集包含的頂點(diǎn)的數(shù)據(jù),是衍生的頂點(diǎn)數(shù)據(jù),并且是縮減了的頂點(diǎn)數(shù)據(jù)。例如,將頂點(diǎn)集合VS劃分為兩個(gè)子集VS_1 = {v3, v6, v7},VS_2 = VS_VS_1。圖4C的虛框內(nèi)的頂點(diǎn),表示頂點(diǎn)子集VS_2中的頂點(diǎn)。與圖4B相比,圖4C的虛框內(nèi)少了頂點(diǎn)v3、v6和v7,即頂點(diǎn)子集VS_2中不含頂點(diǎn)v3、v6和v7。
在原始面片模型的頂點(diǎn)集合很大,而帶寬不足的情況下,可以先傳送一個(gè)頂點(diǎn)子集的頂點(diǎn)數(shù)據(jù),例如VS_2的頂點(diǎn)數(shù)據(jù),再傳送其它頂點(diǎn)子集的頂點(diǎn)數(shù)據(jù),例如頂點(diǎn)子集VS_1的頂點(diǎn)數(shù)據(jù)。
按照本發(fā)明一個(gè)實(shí)施例,當(dāng)原始面片模型的頂點(diǎn)集合VS很大時(shí),可以將頂點(diǎn)集合VS中的頂點(diǎn)進(jìn)行聚類,用所產(chǎn)生的頂點(diǎn)集合的數(shù)據(jù),作為衍生的頂點(diǎn)數(shù)據(jù),這種衍生的頂點(diǎn)數(shù)據(jù)是縮減了的頂點(diǎn)數(shù)據(jù)。例如,圖4D就表示經(jīng)過對頂點(diǎn)集合VS中的頂點(diǎn)進(jìn)行聚類后產(chǎn)生的衍生的頂點(diǎn)數(shù)據(jù)。比較圖4D和圖4B可知,圖4B中的頂點(diǎn)v3、v6和v7變成了圖4D的虛框中的頂點(diǎn)I1,表示頂點(diǎn)Mcl是對頂點(diǎn)v3、v6和v7進(jìn)行聚類而產(chǎn)生的頂點(diǎn)。經(jīng)聚類產(chǎn)生的頂點(diǎn)Vca與聚類之前的頂點(diǎn)v3、v6和v7具有映射關(guān)系νε1〈-> {ν3, v6, v7},映射關(guān)系也是一種衍生的頂點(diǎn)數(shù)據(jù),屬于與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)。
在原始面片模型的頂點(diǎn)集合很大,而帶寬不足的情況下,可以先傳送圖4D所示的衍生頂點(diǎn)數(shù)據(jù),即Ivl,v2,v4, v5, v8, v9, vlO, VcJ,目標(biāo)計(jì)算機(jī)可以先根據(jù)圖4D所示的衍生頂點(diǎn)數(shù)據(jù)呈現(xiàn)三維圖形。然后,再傳送映射關(guān)系νε1〈->{ν3,v6,v7}。目標(biāo)計(jì)算機(jī)于是根據(jù)后來接收的映射關(guān)系Κ->{ν3,v6, v7}確定頂點(diǎn)數(shù)據(jù)為VS,根據(jù)VS顯示三維圖形。由此可以漸進(jìn)地顯示三維圖形。
在步驟S340發(fā)送的與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),可被目標(biāo)計(jì)算機(jī)202用于顯示三維面片模型。這將在下文參照圖5作進(jìn)一步說明。
然后,在步驟S350,發(fā)送衍生面片模型的誤差數(shù)據(jù)。例如,可以發(fā)送衍生面片模型Mk 的誤差數(shù)據(jù)集合 VSE_ = {{1,6,+}, {7,8, +}, {3,4,-}, {6,9,-}}。
按照本發(fā)明一個(gè)實(shí)施例,所述發(fā)送衍生面片模型的誤差數(shù)據(jù),包含將誤差數(shù)據(jù)劃分成多個(gè)誤差數(shù)據(jù)子集,并且每次發(fā)送一個(gè)誤差數(shù)據(jù)子集,直到所有的誤差數(shù)據(jù)子集都被發(fā)送。
例如,可以將一個(gè)衍生面片模型的誤差數(shù)據(jù)集合VSekmk劃分為若干個(gè)誤差數(shù)據(jù)子集:
{V(I, +e),V(2,+e),V(l,~e),V(2,_e)}
{V (3,+e),V (4,+e),V (3,_e),V (4,_e)}
...
{V (n-1,+e), V (n, +e),V (n-1,_e)...V (n, _e)}
每次發(fā)送其中的一個(gè)誤差數(shù)據(jù)子集,直到所有的誤差數(shù)據(jù)子集都被發(fā)送。
例如,可以將VSekkok = {{1,6, +},{7,8, +},{3,4, -},{6,9, -}}劃分為兩個(gè)誤差數(shù)據(jù)子集:{{1,6,+},{3,4,-}}和{{6,9,-},{7,8,+}},并分別發(fā)送這兩個(gè)誤差數(shù)據(jù)子集。
需要指出的是,以上的兩個(gè)誤差數(shù)據(jù)子集,僅僅是示例性的。在實(shí)際應(yīng)用中,每個(gè)誤差數(shù)據(jù)子集的數(shù)據(jù)量遠(yuǎn)不止這些。但是,誤差數(shù)據(jù)子集的數(shù)據(jù)量,比誤差數(shù)據(jù)集合VSekkot的數(shù)據(jù)量更少,在網(wǎng)絡(luò)203的帶寬不足的情況下,如果源計(jì)算機(jī)201根據(jù)帶寬條件傳送數(shù)據(jù)量較少的誤差數(shù)據(jù)子集,誤差數(shù)據(jù)子集可以及時(shí)地到達(dá)目標(biāo)計(jì)算機(jī)202。
在步驟S350發(fā)送的誤差數(shù)據(jù),可被目標(biāo)計(jì)算機(jī)202用于呈現(xiàn)三維面片模型。
下文將結(jié)合圖5,說明目標(biāo)計(jì)算機(jī)202針對源計(jì)算機(jī)201發(fā)送的原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)和衍生面片模型的誤差數(shù)據(jù)分別要作的處理。
圖5表示按照本發(fā)明一個(gè)實(shí)施例的用于漸進(jìn)地呈現(xiàn)三維面片模型的方法的流程圖。如圖5所示的方法,可以在目標(biāo)計(jì)算機(jī)202實(shí)現(xiàn),過程如下。
在步驟S510,通過網(wǎng)絡(luò)203從源計(jì)算機(jī)201接收用于三維模型的數(shù)據(jù)。
上文在結(jié)合圖3的說明中可知,源計(jì)算機(jī)201向目標(biāo)計(jì)算機(jī)202發(fā)送的數(shù)據(jù),可能是與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)(步驟S340),也可能是衍生面片模型的誤差數(shù)據(jù)(步驟S350)。
在步驟S520,目標(biāo)計(jì)算機(jī)202判斷所接收的數(shù)據(jù)的類型,以便作出相應(yīng)的處理。判斷數(shù)據(jù)的類型,有各種實(shí)現(xiàn)方式,例如,一種簡單的方式,是通過設(shè)置代表數(shù)據(jù)類型的標(biāo)識符來區(qū)別發(fā)送端發(fā)送的數(shù)據(jù)的類型。
根據(jù)所接收的數(shù)據(jù)的類型的不同,目標(biāo)計(jì)算機(jī)202將作出不同的處理。如棱形框521和522分別表示的那樣,在本發(fā)明的實(shí)施例中,接收端只需針對頂點(diǎn)數(shù)據(jù)和誤差數(shù)據(jù)作出處理。
在步驟S530,響應(yīng)于所接收的數(shù)據(jù)是與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),執(zhí)行下述操作:用預(yù)定面片模型構(gòu)造算法,根據(jù)與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),構(gòu)造一個(gè)衍生面片模型;根據(jù)所構(gòu)造的衍生面片模型,顯示三維面片模型。
按照本發(fā)明一個(gè)實(shí)施例,所述預(yù)定面片模型構(gòu)造算法,可以是德洛內(nèi)三角算法。
預(yù)定面片模型構(gòu)造算法,應(yīng)該與源計(jì)算機(jī)202使用的面片模型構(gòu)造算法相同。在實(shí)踐中,所述預(yù)定面片模型構(gòu)造算法,可以是預(yù)先指定的部署在目標(biāo)計(jì)算機(jī)上的面片模型構(gòu)造算法。如果目標(biāo)計(jì)算機(jī)上部署了多種面片模型構(gòu)造算法,也可以隨時(shí)根據(jù)源計(jì)算機(jī)的通知,選擇其中一種面片模型構(gòu)造算法。
在上文結(jié)合圖3所作的說明中,已經(jīng)描述了用預(yù)定面片模型構(gòu)造算法生成邊數(shù)據(jù)或面數(shù)據(jù)的方式。
上文在參照圖3對步驟S340的說明中,指出了步驟S340中所發(fā)送的與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),可以是原始面片模型的頂點(diǎn)數(shù)據(jù),也可以是衍生的頂點(diǎn)數(shù)據(jù)。按照本發(fā)明一個(gè)實(shí)施例,與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),是原始面片模型230的頂點(diǎn)數(shù)據(jù),即頂點(diǎn)集合VS = {vl、v2、v3、v4、v5、v6、v7、v8、v9、vlO}。在這種情況下,根據(jù)頂點(diǎn)集合VS,構(gòu)造一個(gè)如圖4A中所示的衍生面片模型Mk。然后,根據(jù)衍生面片模型Mk的數(shù)據(jù),顯示三維面片模型。按照本發(fā)明另一個(gè)實(shí)施例,與原始面片模型相關(guān)的的頂點(diǎn)數(shù)據(jù),是衍生的頂點(diǎn)數(shù)據(jù)。例如是如上文所述的圖4C或4D所表示的衍生頂點(diǎn)數(shù)據(jù)。在這樣的情況下,也可以根據(jù)圖4C或4D所表示的衍生頂點(diǎn)數(shù)據(jù),構(gòu)造一個(gè)衍生面片模型,然后,根據(jù)所生成的衍生面片模型的數(shù)據(jù),顯示三維面片模型。在步驟530之后,過程返回到步驟S510,繼續(xù)接收數(shù)據(jù)。在步驟S540,響應(yīng)于所接收的數(shù)據(jù)是衍生面片模型的誤差數(shù)據(jù),用所接收的誤差數(shù)據(jù)修正當(dāng)前顯示的三維面片模型。如上文結(jié)合圖3所述的那樣,衍生面片模型的誤差數(shù)據(jù)包含下述至少之一:多余邊數(shù)據(jù);缺失邊數(shù)據(jù);多余面數(shù)據(jù);缺失面數(shù)據(jù)。按照發(fā)明一個(gè)實(shí)施例,所述用所接收的誤差數(shù)據(jù)修正當(dāng)前顯示的三維面片模型包含:響應(yīng)于誤差數(shù)據(jù)包含多余邊數(shù)據(jù),從當(dāng)前顯示的三維面片模型中去除多余邊數(shù)據(jù)中的邊;響應(yīng)于誤差數(shù)據(jù)包含缺失邊數(shù)據(jù),在當(dāng)前顯示的三維面片模型中添加缺失邊數(shù)據(jù)中的邊;響應(yīng)于誤差數(shù)據(jù)包含多余面數(shù)據(jù),從當(dāng)前顯示的三維面片模型中去除多余面數(shù)據(jù)中的面;響應(yīng)于誤差數(shù)據(jù)包含缺失面數(shù)據(jù),在當(dāng)前顯示的三維面片模型中添加缺失面數(shù)據(jù)中的面。衍生面片模型的誤差數(shù)據(jù)可以是表示衍生面片模型的面片數(shù)據(jù)與原始面片模型的面片數(shù)據(jù)之間的誤差的數(shù)據(jù),或者,也可以所述表示衍生面片模型的面片數(shù)據(jù)與原始面片模型的面片數(shù)據(jù)之間的誤差的數(shù)據(jù)的子集,即誤差數(shù)據(jù)子集。參看附圖6A-6C,附圖6A-6C示意性表示在目標(biāo)計(jì)算機(jī)202上呈現(xiàn)三維面片模型的過程。例如,假設(shè)在步驟530,根據(jù)頂點(diǎn)集合VS,構(gòu)造一個(gè)如圖4A中所示的衍生面片模型Mk。然后,根據(jù)衍生面片模型Mk的數(shù)據(jù),顯示三維面片模型。圖6A表示當(dāng)前顯示的三維面片模型。如前文參照圖3所述的那樣,例如,衍生面片模型Mk的誤差數(shù)據(jù)為VSekkqk = {{I,6,+},{7,8, +}, {3,4, {6,9,-}}。就是說,在當(dāng)前顯示的三維面片中,頂點(diǎn)vl和v6之間的邊和頂點(diǎn)v7和v8之間的邊是多余邊,頂點(diǎn)v3和v4之間的邊和頂點(diǎn)v6和v9之間的邊是缺失邊。假設(shè)誤差數(shù)據(jù)VSE_K被劃分為兩個(gè)誤差數(shù)據(jù)子集:{{1,6,+},{3,4, -}}和{{6,9,-},{7,8,+}}。 如果步驟S510接收的數(shù)據(jù)是誤差數(shù)據(jù)子集:{{I,6,+},{3,4,_}},則在步驟S 540中,從圖6A所示的當(dāng)前顯示的三維面片模型中去除頂點(diǎn)vl和v6之間的邊,并增加頂點(diǎn)v3和v4之間的邊,結(jié)果如圖6B所示。在步驟540之后,過程返回到步驟S510。接著,步驟S510接收的數(shù)據(jù)是誤差數(shù)據(jù)子集{{6,9,-},{7,8,+}},則在步驟S540中,從圖6B所示的當(dāng)前顯示的三維面片模型中去除頂點(diǎn)v7和v8之間的邊,并增加頂點(diǎn)v6和v9之間的邊,結(jié)果如圖6C所示。以上描述了按照本發(fā)明實(shí)施例的用于處理三維模型的面片數(shù)據(jù)的方法和用于漸進(jìn)地呈現(xiàn)三維模型的方法。按照相同的發(fā)明構(gòu)思,本發(fā)明也提供一種用于處理三維模型的面片數(shù)據(jù)的裝置和用于漸進(jìn)地呈現(xiàn)三維模型的裝置。參看圖7,該圖示意性表示按照本發(fā)明一個(gè)實(shí)施例的處理三維模型的面片數(shù)據(jù)的裝置的框圖。圖7所示的裝置包含:數(shù)據(jù)獲取單元710、面片模型構(gòu)造單元720、比較單元730、頂點(diǎn)數(shù)據(jù)發(fā)送單元740和誤差數(shù)據(jù)發(fā)送單元750。數(shù)據(jù)獲取單元710被配置以獲取原始面片模型的面片數(shù)據(jù)。面片模型構(gòu)造單元720被配置以用預(yù)定的面片模型構(gòu)造算法,由原始面片模型的頂點(diǎn)數(shù)據(jù)構(gòu)造一個(gè)衍生面片模型。比較單元730被配置以比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),獲得衍生面片模型的誤差數(shù)據(jù)。頂點(diǎn)數(shù)據(jù)發(fā)送單元740被配置以發(fā)送與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)。誤差數(shù)據(jù)發(fā)送單元750被配置以發(fā)送衍生面片模型的誤差數(shù)據(jù)。按照本發(fā)明一個(gè)實(shí)施例,所述預(yù)定的面片模型構(gòu)造算法包含德洛內(nèi)三角算法。按照本發(fā)明一個(gè)實(shí)施例,所述比較單元730被配置以比較原始面片的邊數(shù)據(jù)與衍生面片模型的邊數(shù)據(jù),所述誤差數(shù)據(jù)包含多余邊數(shù)據(jù)和缺失邊數(shù)據(jù),其中,多余邊數(shù)據(jù)包含在衍生面片模型中存在、但在原始面片模型中不存在的邊,缺失邊數(shù)據(jù)包含在原始面片模型中存在、但在衍生面片模型中不存在的邊。按照本發(fā)明一個(gè)實(shí)施例,所述比較單元730被配置以比較原始面片的面數(shù)據(jù)與衍生面片模型的面數(shù)據(jù),所述誤差數(shù)據(jù)包含多余面數(shù)據(jù)和缺失面數(shù)據(jù),其中,多余面數(shù)據(jù)包含在衍生面片模型中存在、但在原始面片模型中不存在的面,缺失面數(shù)據(jù)包含在原始面片模型中存在、但在衍生面片模型中不存在的面。按照本發(fā)明一個(gè)實(shí)施例,所述誤差數(shù)據(jù)發(fā)送單元750被配置以將誤差數(shù)據(jù)劃分成多個(gè)誤差數(shù)據(jù)子集,并且每次發(fā)送一個(gè)誤差數(shù)據(jù)子集,直到所有的誤差數(shù)據(jù)子集都被發(fā)送。參看圖8,該圖示意性表示按照本發(fā)明另一個(gè)實(shí)施例的用于處理三維模型數(shù)據(jù)的裝置的框圖。圖8所示的裝置包含:數(shù)據(jù)接收單元810、數(shù)據(jù)類型判斷單元820、面片模型構(gòu)造單元830、三維模型呈現(xiàn)單元840。數(shù)據(jù)接收單元810被配置以接收用于呈現(xiàn)三維面片模型的數(shù)據(jù)。數(shù)據(jù)類型判斷單元820被配置以判斷數(shù)據(jù)接收單元所接收的數(shù)據(jù)的類型。面片模型構(gòu)造單元830被配置以響應(yīng)于所接收的數(shù)據(jù)是與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),用預(yù)定面片模型構(gòu)造算法,根據(jù)與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),構(gòu)造衍生面片模型。按照本發(fā)明一個(gè)實(shí)施例,與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)包含下述之一:原始面片模型的頂點(diǎn)數(shù)據(jù);或者由原始面片模型的頂點(diǎn)數(shù)據(jù)衍生的頂點(diǎn)數(shù)據(jù)三維模型呈現(xiàn)單元840被配置以顯示所構(gòu)造的衍生面片模型,其中,三維模型呈現(xiàn)單元進(jìn)一步被配置以響應(yīng)于所接收的數(shù)據(jù)是衍生面片模型的誤差數(shù)據(jù),用所接收的誤差數(shù)據(jù)修正當(dāng)前顯示的三維面片模型。按照本發(fā)明一個(gè)實(shí)施例,所述預(yù)定面片模型構(gòu)造算法是德洛內(nèi)三角算法。按照本發(fā)明一個(gè)實(shí)施例的用于處理三維模型數(shù)據(jù)的裝置,誤差數(shù)據(jù)包含下述至少之一:多余邊數(shù)據(jù);缺失邊數(shù)據(jù);多余面數(shù)據(jù);和缺失面數(shù)據(jù),并且,所述三維模型呈現(xiàn)單元840被配置以:響應(yīng)于誤差數(shù)據(jù)包含多余邊數(shù)據(jù),從當(dāng)前顯示的三維面片模型中去除多余邊數(shù)據(jù)中的邊;響應(yīng)于誤差數(shù)據(jù)包含缺失邊數(shù)據(jù),在當(dāng)前顯示的三維面片模型中添加缺失邊數(shù)據(jù)中的邊;響應(yīng)于誤差數(shù)據(jù)包含多余面數(shù)據(jù),從當(dāng)前顯示的三維面片模型中去除多余面數(shù)據(jù)中的面;響應(yīng)于誤差數(shù)據(jù)包含缺失面數(shù)據(jù),在當(dāng)前顯示的三維面片模型中添加缺失面數(shù)據(jù)中的面。以上描述了按照本發(fā)明實(shí)施例的用于處理三維模型數(shù)據(jù)的裝置,由于上文已經(jīng)詳細(xì)地描述了按照本發(fā)明各種實(shí)施例的用于處理三維模型數(shù)據(jù)的方法,在上述對系統(tǒng)的描述中,省略了明顯與對方法的描述重復(fù)、或者很容易從對方法的描述中引申得出的內(nèi)容。應(yīng)指出的是,以上描述僅為示例,而不是對本發(fā)明的限制。在本發(fā)明的其他實(shí)施例中,該方法可具有更多、更少或不同的步驟,對步驟的編號,是為了使說明更加簡明,而不是對各步驟之間的順序關(guān)系的嚴(yán)格限定,各步驟與步驟之間的順序可以與所描述的不同。因此,在本發(fā)明的一些實(shí)施例中,可以沒有上述一個(gè)或多個(gè)可選步驟。每個(gè)步驟的具體執(zhí)行方式可以與所描述的不同。所有這些變化都處于本發(fā)明的精神和范圍之內(nèi)。本發(fā)明可以采取硬件實(shí)施方式、軟件實(shí)施方式或既包含硬件組件又包含軟件組件的實(shí)施方式的形式。在優(yōu)選實(shí)施方式中,本發(fā)明實(shí)現(xiàn)為軟件,其包括但不限于固件、駐留軟件、微代碼等。而且,本發(fā)明還可以采取可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)訪問的計(jì)算機(jī)程序產(chǎn)品的形式,這些介質(zhì)提供程序代碼以供計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用或與其結(jié)合使用。出于描述目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀機(jī)制可以是任何有形的裝置,其可以包含、存儲、通信、傳播或傳輸程序以由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與其結(jié)合使用。介質(zhì)可以是電的、磁的、光的、電磁的、紅外線的、或半導(dǎo)體的系統(tǒng)(或裝置或器件)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的例子包括半導(dǎo)體或固態(tài)存儲器、磁帶、可移動計(jì)算機(jī)磁盤、隨機(jī)訪問存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。目前光盤的例子包括緊湊盤-只讀存儲器(CD-ROM)、壓縮盤-讀/寫(CD-R/W)和DVD。適合于存儲/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括至少一個(gè)處理器,其直接地或通過系統(tǒng)總線間接地耦合到存儲器元件。存儲器元件可以包括在程序代碼的實(shí)際執(zhí)行期間所利用的本地存儲器、大容量存儲器、以及提供至少一部分程序代碼的臨時(shí)存儲以便減少執(zhí)行期間從大容量存儲器必須取回代碼的次數(shù)的高速緩存存儲器。輸入/輸出或I/O設(shè)備(包括但不限于鍵盤、顯示器、指點(diǎn)設(shè)備等等)可以直接地或通過中間I/o控制器耦合到系統(tǒng)。網(wǎng)絡(luò)適配器也可以耦合到系統(tǒng),以使得數(shù)據(jù)處理系統(tǒng)能夠通過中間的私有或公共網(wǎng)絡(luò)而耦合到其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲設(shè)備。調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器以及以太網(wǎng)卡僅僅是當(dāng)前可用的網(wǎng)絡(luò)適配器類型的幾個(gè)例子。從上述描述應(yīng)當(dāng)理解,在不脫離本發(fā)明真實(shí)精神的情況下,可以對本發(fā)明各實(shí)施方式進(jìn)行修改和變更。本說明書中的描述僅僅是說明性的,而不應(yīng)被認(rèn)為是限制性的。本發(fā)明的范圍僅受所附權(quán)利要求書的限制。
權(quán)利要求
1.一種用于處理三維模型數(shù)據(jù)的方法,包含: 獲取原始面片模型的面片數(shù)據(jù); 用預(yù)定的面片模型構(gòu)造算法,由原始面片模型的頂點(diǎn)數(shù)據(jù)構(gòu)造一個(gè)衍生面片模型; 比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),獲得衍生面片模型的誤差數(shù)據(jù); 發(fā)送與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù); 發(fā)送衍生面片模型的誤差數(shù)據(jù)。
2.權(quán)利要求1的方法,其中,所述比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),包含比較原始面片的邊數(shù)據(jù)與衍生面片模型的邊數(shù)據(jù),所述誤差數(shù)據(jù)包含多余邊數(shù)據(jù)和缺失邊數(shù)據(jù),其中,多余邊數(shù)據(jù)包含在衍生面片模型中存在、但在原始面片模型中不存在的邊,缺失邊數(shù)據(jù)包含在原始面片模型中存在、但在衍生面片模型中不存在的邊。
3.權(quán)利要求1的方法,其中,所述比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),包含比較原始面片的面數(shù)據(jù)與衍生面片模型的面數(shù)據(jù),所述誤差數(shù)據(jù)包含多余面數(shù)據(jù)和缺失面數(shù)據(jù),其中,多余面數(shù)據(jù)包含在衍生面片模型中存在、但在原始面片模型中不存在的面,缺失面數(shù)據(jù)包含在原始面片模型中存在、但在衍生面片模型中不存在的面。
4.權(quán)利要求2或3的方法,其中,所述發(fā)送衍生面片模型的誤差數(shù)據(jù),包含將誤差數(shù)據(jù)劃分成多個(gè)誤差數(shù)據(jù)子集,并且每次發(fā)送一個(gè)誤差數(shù)據(jù)子集,直到所有的誤差數(shù)據(jù)子集都被發(fā)送。
5.權(quán)利要求1的方法,其中,所述與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),是原始面片模型的頂點(diǎn)數(shù)據(jù)。
6.權(quán)利要求1的方法,進(jìn)一步包含,根據(jù)原始面片模型的頂點(diǎn)數(shù)據(jù),生成衍生的頂點(diǎn)數(shù)據(jù),其中,所述與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),包含所述衍生的頂點(diǎn)數(shù)據(jù)。
7.一種用于處理三維模型數(shù)據(jù)的方法,包含: 接收用于呈現(xiàn)三維面片模型的數(shù)據(jù); 響應(yīng)于所接收的數(shù)據(jù)是與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),執(zhí)行下述操作: 用預(yù)定面片模型構(gòu)造算法,根據(jù)與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù), 構(gòu)造衍生面片模型; 根據(jù)所構(gòu)造的衍生面片模型,顯示三維面片模型;和 響應(yīng)于所接收的數(shù)據(jù)是衍生 面片模型的誤差數(shù)據(jù),用所接收的誤差數(shù)據(jù)修正當(dāng)前顯示的三維面片模型。
8.權(quán)利要求7的方法,其中,所述與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)包含下述之一: 原始面片模型的頂點(diǎn)數(shù)據(jù);或者 由原始面片模型的頂點(diǎn)數(shù)據(jù)衍生的頂點(diǎn)數(shù)據(jù)。
9.權(quán)利要求7的方法,其中,誤差數(shù)據(jù)包含下述至少之一: 多余邊數(shù)據(jù); 缺失邊數(shù)據(jù); 多余面數(shù)據(jù);和 缺失面數(shù)據(jù),并且其中,所述用所接收的誤差數(shù)據(jù)修正當(dāng)前顯示的三維面片模型包含:響應(yīng)于誤差數(shù)據(jù)包含多余邊數(shù)據(jù),從當(dāng)前顯示的三維面片模型中去除多余邊數(shù)據(jù)中的邊; 響應(yīng)于誤差數(shù)據(jù)包含缺失邊數(shù)據(jù),在當(dāng)前顯示的三維面片模型中添加缺失邊數(shù)據(jù)中的邊; 響應(yīng)于誤差數(shù)據(jù)包含多余面數(shù)據(jù),從當(dāng)前顯示的三維面片模型中去除多余面數(shù)據(jù)中的面; 響應(yīng)于誤差數(shù)據(jù)包含缺失面數(shù)據(jù),在當(dāng)前顯示的三維面片模型中添加缺失面數(shù)據(jù)中的面。
10.權(quán)利要求9的方法,其中,所述衍生面片模型的誤差數(shù)據(jù)包含下述之一: 表示衍生面片模型的面片數(shù)據(jù)與原始面片模型的面片數(shù)據(jù)之間的誤差的數(shù)據(jù); 所述表示衍生面片模型與原始面片模型之間的誤差的數(shù)據(jù)的子集。
11.一種用于處理三維模型數(shù)據(jù)的裝置,包含: 數(shù)據(jù)獲取單元,被配置以獲取原始面片模型的面片數(shù)據(jù); 面片模型構(gòu)造單元,被配置以用預(yù)定的面片模型構(gòu)造算法,由原始面片模型的頂點(diǎn)數(shù)據(jù)構(gòu)造一個(gè)衍生面片模型; 比較單元,被配置以比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),獲得衍生面片模型的誤差數(shù)據(jù); 頂點(diǎn)數(shù)據(jù)發(fā)送單元,被配置以發(fā)送與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù); 誤差數(shù)據(jù)發(fā)送單元,被配置以發(fā)送衍生面片模型的誤差數(shù)據(jù)。
12.權(quán)利要求11的裝置,其中,所述比較單元被配置以比較原始面片的邊數(shù)據(jù)與衍生面片模型的邊數(shù)據(jù),所述誤差數(shù)據(jù)包含多余邊數(shù)據(jù)和缺失邊數(shù)據(jù),其中,多余邊數(shù)據(jù)包含在衍生面片模型中存在、但在原始面片模型中不存在的邊,缺失邊數(shù)據(jù)包含在原始面片模型中存在、但在衍生面片模型中不存在的邊。
13.權(quán)利要求11的裝置,其中,所述比較單元被配置以比較原始面片的面數(shù)據(jù)與衍生面片模型的面數(shù)據(jù),所述誤差數(shù)據(jù)包含多余面數(shù)據(jù)和缺失面數(shù)據(jù),其中,多余面數(shù)據(jù)包含在衍生面片模型中存在、但在原始面片模型中不存在的面,缺失面數(shù)據(jù)包含在原始面片模型中存在、但在衍生面片模型中不存在的面。
14.權(quán)利要求12或13的裝置,其中,所述誤差數(shù)據(jù)發(fā)送單元被配置以將誤差數(shù)據(jù)劃分成多個(gè)誤差數(shù)據(jù)子集, 并且每次發(fā)送一個(gè)誤差數(shù)據(jù)子集,直到所有的誤差數(shù)據(jù)子集都被發(fā)送。
15.權(quán)利要求11的裝置,其中,所述與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),是原始面片模型的頂點(diǎn)數(shù)據(jù)。
16.權(quán)利要求11的裝置,進(jìn)一步包含,數(shù)據(jù)衍生單元,被配置以根據(jù)原始面片模型的頂點(diǎn)數(shù)據(jù),生成衍生的頂點(diǎn)數(shù)據(jù),其中,其中,所述與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),包含所述衍生的頂點(diǎn)數(shù)據(jù)。
17.一種用于處理三維模型數(shù)據(jù)的裝置,包含: 數(shù)據(jù)接收單元,被配置以接收用于呈現(xiàn)三維面片模型的數(shù)據(jù); 數(shù)據(jù)類型判斷單元,被配置以判斷數(shù)據(jù)接收單元所接收的數(shù)據(jù)的類型; 面片模型構(gòu)造單元,被配置以響應(yīng)于所接收的數(shù)據(jù)是與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),用預(yù)定面片模型構(gòu)造算法,根據(jù)與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù),構(gòu)造衍生面片模型;三維模型呈現(xiàn)單元,被配置以顯示所構(gòu)造的衍生面片模型,其中,三維模型呈現(xiàn)單元進(jìn)一步被配置以響應(yīng)于所接收的數(shù)據(jù)是衍生面片模型的誤差數(shù)據(jù),用所接收的誤差數(shù)據(jù)修正當(dāng)前顯示的三維面片模型。
18.權(quán)利要求17的裝置,其中,所述與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù)包含下述之一: 原始面片模型的頂點(diǎn)數(shù)據(jù);或者 由原始面片模型的頂點(diǎn)數(shù)據(jù)衍生的頂點(diǎn)數(shù)據(jù)。
19.權(quán)利要求19的裝置,其中,誤差數(shù)據(jù)包含下述至少之一: 多余邊數(shù)據(jù); 缺失邊數(shù)據(jù); 多余面數(shù)據(jù);和 缺失面數(shù)據(jù),并且,所述三維模型呈現(xiàn)單元被配置以: 響應(yīng)于誤差數(shù)據(jù)包含多余邊數(shù)據(jù),從當(dāng)前顯示的三維面片模型中去除多余邊數(shù)據(jù)中的邊; 響應(yīng)于誤差數(shù)據(jù)包含缺失邊數(shù)據(jù),在當(dāng)前顯示的三維面片模型中添加缺失邊數(shù)據(jù)中的邊; 響應(yīng)于誤差數(shù)據(jù)包含多余面數(shù)據(jù),從當(dāng)前顯示的三維面片模型中去除多余面數(shù)據(jù)中的面; 響應(yīng)于誤差數(shù)據(jù)包含缺失面數(shù)據(jù),在當(dāng)前顯示的三維面片模型中添加缺失面數(shù)據(jù)中的面。
20.權(quán)利要求19的裝置,其中,所述衍生面片模型的誤差數(shù)據(jù)包含下述之一: 表示衍生面片模型的面片數(shù)據(jù)與原始面片模型的面片數(shù)據(jù)之間的誤差的數(shù)據(jù); 所述表示衍生面片 模型與原始面片模型之間的誤差的數(shù)據(jù)的子集。
全文摘要
本發(fā)明涉及計(jì)算機(jī)圖形的網(wǎng)絡(luò)傳輸和顯示。提供一種用于處理三維模型數(shù)據(jù)的方法和裝置,該方法包含獲取原始面片模型的面片數(shù)據(jù);用預(yù)定的面片模型構(gòu)造算法,由原始面片模型的頂點(diǎn)數(shù)據(jù)構(gòu)造一個(gè)衍生面片模型;比較原始面片模型的面片數(shù)據(jù)與衍生面片模型的面片數(shù)據(jù),獲得衍生面片模型的誤差數(shù)據(jù);發(fā)送與原始面片模型相關(guān)的頂點(diǎn)數(shù)據(jù);發(fā)送衍生面片模型的誤差數(shù)據(jù)。
文檔編號G06T19/00GK103186924SQ201110461368
公開日2013年7月3日 申請日期2011年12月30日 優(yōu)先權(quán)日2011年12月30日
發(fā)明者王宜敏, 王健, 胡國強(qiáng), 孟繁晶, 朱子玉 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1