專利名稱:一種三維模型圖形的生成方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種三維;漠型圖形的生成方法和裝
置。'
背景技術(shù):
地理信息系統(tǒng)(Geographic Information System ,GIS )是用于采集、存儲(chǔ)、 管理、處理、檢索、分析和表達(dá)地理空間數(shù)據(jù)的計(jì)算機(jī)系統(tǒng),是分析和處理海 量地理數(shù)據(jù)的通用技術(shù),是處理地理信息的系統(tǒng)。地理信息是指直接或間接與 地球上的空間位置有關(guān)的信息,又稱為空間信息。
隨著科技的進(jìn)步和數(shù)據(jù)處理能力的提高,GIS系統(tǒng)所涉及的地理范圍正在 逐漸的擴(kuò)大,從城市級(jí)別擴(kuò)大到全國(guó)范圍,最大的甚至發(fā)展到全球范圍。隨著 地理范圍的擴(kuò)大,其涉及到的數(shù)據(jù)也隨之增大。海量數(shù)據(jù)的管理和應(yīng)用已經(jīng)成 為其制約應(yīng)用到影像/地形數(shù)據(jù)系統(tǒng)的嚴(yán)重瓶頸。
在計(jì)算機(jī)圖形學(xué)中,場(chǎng)景中的物體通常是用多邊形網(wǎng)格描述的,高精度的 掃描測(cè)繪手段為復(fù)雜物體基于多邊形網(wǎng)格表示的三維幾何建模提供了新的高 效手段,但由于采樣精度高,由此建立的三維模型的復(fù)雜程度遠(yuǎn)遠(yuǎn)超過了當(dāng)前 計(jì)算機(jī)的實(shí)時(shí)圖形處理能力。對(duì)于一個(gè)大型城市,通常模型數(shù)據(jù)有數(shù)萬個(gè),每 一個(gè)模型有5000個(gè)頂點(diǎn)左右,頂點(diǎn)總量過億。而相對(duì)于普通的三維應(yīng)用,三 維建筑環(huán)境的數(shù)據(jù)規(guī);漠更大,數(shù)據(jù)類型更加豐富多樣,場(chǎng)景的圖形數(shù)據(jù)復(fù)雜度 更高,給數(shù)據(jù)管理和場(chǎng)景描繪帶來了更多的困難,高復(fù)雜度的海量三維空間數(shù) 據(jù)成為阻礙應(yīng)用的主要因素。在三維GIS引擎中,對(duì)瀏覽的實(shí)時(shí)性要求很高, 如果直接下載并使用未經(jīng)處理的原始數(shù)據(jù),渲染速度將無法接受。即使利用三 維硬件設(shè)備來提高渲染速度也無法解決讀取數(shù)據(jù)時(shí)的速度瓶頸,并且大大增加 了經(jīng)濟(jì)負(fù)擔(dān)。如何降低這些模型的復(fù)雜度,提高三維模型圖形的渲染速度,成 為一個(gè)迫切需要解決的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種實(shí)現(xiàn)加速渲染三維模型圖形的方
法和裝置,減少三維圖形渲染所需要下載和傳輸?shù)臄?shù)據(jù)量,能夠非??焖俚膶?shí) 現(xiàn)三維模型圖形的渲染。
為了解決上述問題,本發(fā)明公開了一種三維模型圖形的生成方法,包括
獲取原始精細(xì)三維模型數(shù)據(jù),所述三維模型數(shù)據(jù)包括表示三維空間物體的
多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù);
壓縮所述三維模型數(shù)據(jù),減少三維模型的冗余數(shù)據(jù);
接受用戶請(qǐng)求,下載壓縮后的三維模型數(shù)據(jù),渲染生成三維模型圖形。
進(jìn)一步,所述壓縮三維模型數(shù)據(jù)的具體過程包括
壓縮所述原始精細(xì)三維模型的網(wǎng)格頂點(diǎn)數(shù)據(jù),減少三維模型數(shù)據(jù)的冗余數(shù)
據(jù);
壓縮所述原始精細(xì)三維模型的紋理數(shù)據(jù),減少三維模型數(shù)據(jù)的冗余數(shù)據(jù)。 進(jìn)一步,在所述壓縮三維模型頂點(diǎn)數(shù)據(jù)前進(jìn)一步包括 減少原始精細(xì)模型的頂點(diǎn)數(shù)量,按精簡(jiǎn)級(jí)別生成不同層的模型數(shù)據(jù)。 進(jìn)一步,還包括將不同層的模型數(shù)據(jù)按照區(qū)域劃分成塊,分別存儲(chǔ)所述分 層分塊后的模型數(shù)據(jù)。
優(yōu)選的,接受用戶請(qǐng)求,下載特定層的模型數(shù)據(jù),渲染生成三維模型圖形。 優(yōu)選的,所述壓縮三維模型的頂點(diǎn)數(shù)據(jù)的具體過程包括
a、 選定網(wǎng)格中的一個(gè)多邊形;
b、 以所述多邊形為擴(kuò)張中心,在擴(kuò)張中心的邊界上擴(kuò)張一個(gè)多邊形,得 到一個(gè)更大的擴(kuò)張中心;
c、 重復(fù)步驟b,直至所述擴(kuò)張中心擴(kuò)張至整個(gè)網(wǎng)格。 優(yōu)選的,所述壓縮三維模型的頂點(diǎn)數(shù)據(jù)的具體過程包括 al、選定網(wǎng)格中的一個(gè)三角形;
bl、以所述三角形為擴(kuò)張中心,以所述三角形外的一個(gè)點(diǎn)與所述三角形的 一條邊組成另一個(gè)三角形,得到一個(gè)更大的擴(kuò)張中心;
cl、重復(fù)步驟bl,直至所述擴(kuò)張中心擴(kuò)張至整個(gè)網(wǎng)格。 優(yōu)選的,所述壓縮三維模型的紋理數(shù)據(jù)步驟包括 將紋理圖像的大小根據(jù)對(duì)應(yīng)模型區(qū)域的大小進(jìn)行放縮; 去除重復(fù)的紋理;
將紋理圖合并成大圖。
優(yōu)選的,所述壓縮的具體步驟為 壓縮格式紋理貼利用對(duì)稱性和規(guī)律性,進(jìn)行圖像分割,將重復(fù)的紋理貼圖分割,以位圖格 式存儲(chǔ);
調(diào)用所述以位圖格式存儲(chǔ)的紋理貼圖,對(duì)其進(jìn)行定位和拼接,實(shí)現(xiàn)三維幾 何模型整個(gè)表面的紋理貼圖。
優(yōu)選的,根據(jù)用戶距離三維空間物體的距離和所需要的精度確定下載特定 層的才莫型數(shù)據(jù),并渲染生成三維;漠型圖形。
本發(fā)明還提供了一種生成三維模型圖形的裝置,包括
接收單元,用于接收原始精細(xì)模型數(shù)據(jù),所述模型數(shù)據(jù)包括表示三維空間 物體的多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù);
壓縮單元,用于壓縮三維模型數(shù)據(jù),減少三維模型的冗余數(shù)據(jù);
圖形渲染生成單元,用于接受用戶的請(qǐng)求,下載壓縮后的三維模型數(shù)據(jù), 渲染生成三維模型圖形。
進(jìn)一步,所述壓縮單元包括頂點(diǎn)數(shù)據(jù)壓縮單元,用于壓縮所述三維模型的 網(wǎng)格頂點(diǎn)數(shù)據(jù),減少三維模型數(shù)據(jù)的冗余數(shù)據(jù);
紋理數(shù)據(jù)壓縮單元,用于壓縮三維模型的紋理數(shù)據(jù),減少三維模型數(shù)據(jù)的 冗余數(shù)據(jù)。
進(jìn)一步,還包括分層單元,用于減少精細(xì)模型的頂點(diǎn)數(shù)量,按精簡(jiǎn)級(jí)別生
成不同層的模型數(shù)據(jù)。
進(jìn)一步,還包括分塊單元,用于將不同層的模型數(shù)據(jù)按照區(qū)域劃分成塊。 進(jìn)一步,還包括存儲(chǔ)單元,用于分別存儲(chǔ)所述分層分塊后的模型數(shù)據(jù)。 優(yōu)選的,所述頂點(diǎn)數(shù)據(jù)壓縮單元包括選定單元,用于選定網(wǎng)格中的一個(gè)多
邊形;
擴(kuò)張單元,用于以所述選定的多邊形為中心,在中心的邊界上擴(kuò)張多邊形, 直至擴(kuò)張至整個(gè)網(wǎng)格。
優(yōu)選的,所述紋理數(shù)據(jù)壓縮單元包括
紋理壓縮單元,用于轉(zhuǎn)換紋理貼圖的格式,壓縮格式紋理貼分割單元,用于圖像分割,分割重復(fù)的紋理貼第二存儲(chǔ)單元,用于存儲(chǔ)所述分割的紋理貼圖,所述紋理貼圖以位圖的格 式存儲(chǔ);
拼接單元,從第二存儲(chǔ)單元調(diào)用以位圖形式存儲(chǔ)的紋理貼圖,對(duì)其進(jìn)行定 位和拼接實(shí)現(xiàn)三維幾何模型整個(gè)表面的紋理貼圖。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
本發(fā)明通過對(duì)原始精細(xì)三維模型數(shù)據(jù)進(jìn)行頂點(diǎn)壓縮和紋理數(shù)據(jù)的壓縮,降 低了這些模型的復(fù)雜度,減少了圖形系統(tǒng)需要處理的多邊形數(shù)目,減少需要傳 輸?shù)臄?shù)據(jù)量,特別是減少渲染生成圖形所需的數(shù)據(jù)量,提高了渲染速度,滿足 了用戶實(shí)時(shí)渲染要求。
進(jìn)一步,本發(fā)明通過對(duì)三維模型的分層分塊,將模型數(shù)據(jù)按照不同的級(jí)別 分層存儲(chǔ)在服務(wù)器上,并按照區(qū)域?qū)⒉煌瑢訑?shù)據(jù)劃分成塊,按照數(shù)據(jù)所在的層 與位置散列到服務(wù)器上,當(dāng)客戶端請(qǐng)求某一塊數(shù)據(jù)的時(shí)候就不需要去遍歷整個(gè) 數(shù)據(jù),從而減少了每次請(qǐng)求數(shù)據(jù)的時(shí)間。同樣減少了數(shù)據(jù)量,減少渲染的數(shù)據(jù) 批次,從而能快速的實(shí)現(xiàn)三維模型的渲染,滿足用戶的圖形實(shí)時(shí)渲染要求。
圖l是本發(fā)明一種三維模型圖形生成方法的流程圖; 圖2是本發(fā)明另一種三維模型圖形生成方法的流程圖; 圖3是本發(fā)明一種三維模型圖形生成裝置的結(jié)構(gòu)框圖; 圖4是本發(fā)明另一種三維模型圖形生成裝置的結(jié)構(gòu)框圖; 圖5是圖4所示裝置中壓縮單元的詳細(xì)組成圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
參照?qǐng)D1,示出了本發(fā)明一種三維模型圖形生成方法的流程圖,包括 步驟IOI、獲取原始精細(xì)三維模型數(shù)據(jù)。
所述三維模型數(shù)據(jù)包括表示三維空間物體的多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù),利用三 維模型數(shù)據(jù)表示三維空間物體在現(xiàn)有技術(shù)中有多種實(shí)現(xiàn)方法,本發(fā)明對(duì)此不做
詳細(xì)介紹。所述三維模型數(shù)據(jù)是精確表示三維空間物體的頂點(diǎn)網(wǎng)格數(shù)據(jù)及其它 拓樸數(shù)據(jù)。
步驟102、壓縮所述三維模型lt據(jù)。
為了減少傳輸和渲染所需的數(shù)據(jù)量,需要對(duì)描述場(chǎng)景物體的多邊形網(wǎng)格進(jìn) 行壓縮簡(jiǎn)化。
所述壓縮原始精細(xì)三維模型數(shù)據(jù)步驟具體包括對(duì)原始精細(xì)三維模型的網(wǎng) 格頂點(diǎn)數(shù)據(jù)的壓縮步驟1021和對(duì)原始精細(xì)三維模型的紋理數(shù)據(jù)的壓縮步驟 1022。
所述多邊形網(wǎng)格簡(jiǎn)化的方法有如下幾種,基于幾何特征識(shí)別方法和基于小 波變換的方法。小波變換在計(jì)算機(jī)圖形學(xué)中具有廣闊的應(yīng)用前景,其中多尺度 分析(Multiresolution Analysis, MRA)是一個(gè)重要方面?;贛RA的簡(jiǎn)化網(wǎng)格 是對(duì)原始網(wǎng)格的簡(jiǎn)單近似,被省略的細(xì)節(jié)可以通過一系列的小波基重構(gòu)出來。 盡管小波計(jì)算的復(fù)雜性影響了這類方法的應(yīng)用,但這類方法具有明顯的優(yōu)勢(shì), 利用經(jīng)過處理的小波基序列,只需要很少的面片就可以逼近原始網(wǎng)格,在構(gòu)造 多分辨率模型、三維幾何數(shù)據(jù)壓縮、模型的分級(jí)傳輸?shù)葢?yīng)用中有著無可比擬的
實(shí)用價(jià)值。
基于幾何特征識(shí)別的模型簡(jiǎn)化方法根據(jù)對(duì)原始模型的逼近精度要求,識(shí)別 并保留模型中的幾何特征信息、消除冗余信息,從而達(dá)到模型簡(jiǎn)化目的。有了 快速、可靠的模型簡(jiǎn)化方法,只要給出不同的逼近精度要求,即可構(gòu)造出層次 化模型。
相對(duì)于普通三維應(yīng)用,三維建筑環(huán)境的數(shù)據(jù)規(guī)模大,數(shù)據(jù)類型豐富多樣, 場(chǎng)景的圖形數(shù)據(jù)復(fù)雜度高,給數(shù)據(jù)管理和場(chǎng)景描繪帶來了前所未有的困難,高 復(fù)雜度的海量三維空間數(shù)據(jù)是阻礙應(yīng)用的主要因素,三維空間數(shù)據(jù)壓縮傳輸成 為虛擬GIS環(huán)境的核心技術(shù)。針對(duì)虛擬建筑環(huán)境的特殊性,本發(fā)明優(yōu)選采取基 于流式的三維模型壓縮方法。
所謂基于流式的三維模型壓縮就是把網(wǎng)格看作由多邊形組成的流,對(duì)于多 邊形一個(gè)接一個(gè)的進(jìn)行壓縮和解壓。對(duì)于GIS應(yīng)用中的精細(xì)模型,漸進(jìn)壓縮很 難實(shí)現(xiàn)較好的效果,因?yàn)橄駱欠拷ㄖ却蟛糠帜P投际蔷W(wǎng)絡(luò)最簡(jiǎn)化,幾何形狀 比較單一,而壓縮這類數(shù)據(jù)比較有效的方法是基于流的壓縮和有P艮精度的有損
壓縮并用,接下來重點(diǎn)介紹流式壓縮的方法。所述思想的實(shí)現(xiàn)就是區(qū)域擴(kuò)張。 具體來說,就是從網(wǎng)格的一個(gè)多邊形出發(fā),把這個(gè)多邊形看成一個(gè)區(qū)域(擴(kuò)張 中心),每一次在這個(gè)區(qū)域的邊界上擴(kuò)張一個(gè)多邊形,這樣得到一個(gè)更大的區(qū) 域(擴(kuò)張中心),重復(fù)此操作,最終得到的區(qū)域就是整個(gè)網(wǎng)格。使用這種方式 就可以對(duì)網(wǎng)格中的多邊形一個(gè)接一個(gè)的進(jìn)行處理。具體操作時(shí),還有很多需要 考慮的,比如網(wǎng)格的擴(kuò)張方式,也就是說,每一次從區(qū)域的哪個(gè)位置擴(kuò)張新的
多邊形;再比如,如果整個(gè)網(wǎng)格不是一個(gè)連通分支,那么上面的方式就不可能 擴(kuò)張到整個(gè)網(wǎng)格,這時(shí)可以通過對(duì)網(wǎng)格的每個(gè)連通分支都進(jìn)行一次擴(kuò)張來解決 該問題,顯而易見,在區(qū)域擴(kuò)張的過程中,網(wǎng)格中的每一個(gè)多邊形有且僅有一 次進(jìn)入?yún)^(qū)域擴(kuò)張的邊界。
使用區(qū)域擴(kuò)張的思想來實(shí)現(xiàn)壓縮和解壓可以只使用局部信息,這樣的優(yōu)點(diǎn) 是節(jié)約存儲(chǔ)。這是因?yàn)?,在壓縮和解壓的時(shí)候可以只保存區(qū)域擴(kuò)張的邊界上的 數(shù)據(jù),雖然網(wǎng)格可能很大,但是區(qū)域擴(kuò)張的邊界上的數(shù)據(jù)相對(duì)來說就可以忽略 不計(jì)。
事實(shí)上,在區(qū)域擴(kuò)張的過程中保存區(qū)域中的所有數(shù)據(jù)也是可以的,這樣在 處理的時(shí)候可以得到關(guān)于網(wǎng)格的更多的信息,在壓縮時(shí)可以達(dá)到更高的壓縮 率,不過這樣占用的內(nèi)存會(huì)很大,因此,區(qū)域擴(kuò)張優(yōu)選的是保存邊界上的數(shù)據(jù)。
對(duì)于海量的網(wǎng)格來說,由于存儲(chǔ)容量有限,所以不能一次把整個(gè)網(wǎng)格都讀 到內(nèi)存里,因此處理海量網(wǎng)格實(shí)際上就是先選擇一種網(wǎng)格的遍歷方法,再在遍 歷的過程中對(duì)網(wǎng)格進(jìn)行操作,因此網(wǎng)格的遍歷方法對(duì)于海量網(wǎng)格的處理是很重 要的。常用的網(wǎng)格遍歷方法有三種批處理方式(batch),網(wǎng)格分割方式(mesh cutting)和在線方式(online )。
批處理方式,是將網(wǎng)格中的數(shù)據(jù)一次或者多次通過內(nèi)存,而某一時(shí)刻內(nèi)存 中只保存某一部分的網(wǎng)格數(shù)據(jù),處理的時(shí)候只對(duì)內(nèi)存中的數(shù)據(jù)進(jìn)行處理。這個(gè) 方法的優(yōu)點(diǎn)是效率非常高。
網(wǎng)格分割方式就是先把網(wǎng)格分割成能夠放入內(nèi)存的小塊,對(duì)每個(gè)小塊進(jìn)行 處理,再把處理之后的小塊拼接起來,得到最終需要的處理結(jié)果。
在線方式,就是構(gòu)造高效的外存數(shù)據(jù)結(jié)構(gòu),把整個(gè)網(wǎng)格的大部分放在外存, 處理網(wǎng)格時(shí)就像處理內(nèi)存中的數(shù)據(jù)一樣,對(duì)外存中的數(shù)據(jù)進(jìn)行處理。這個(gè)方法
的優(yōu)點(diǎn)是,可以使用現(xiàn)成的網(wǎng)格處理方法,不需要特意為海量網(wǎng)格設(shè)計(jì)新的處 理方法,因此在線方式對(duì)網(wǎng)格的處理效果非常好。
區(qū)域擴(kuò)張的思想實(shí)際上提供了一種海量網(wǎng)格的遍歷方式這種方式不僅速 度比較快,而且提供了一部分拓樸信息。流的這個(gè)特點(diǎn)在網(wǎng)格處理的許多方面 都有優(yōu)勢(shì)。
下面介紹使用區(qū)域擴(kuò)張的方式來進(jìn)行網(wǎng)格簡(jiǎn)化的方法,具體來說,使用區(qū) 域擴(kuò)張方式進(jìn)行簡(jiǎn)化也有兩種方法
第一種,基于邊界的方法(Boundary-based),這個(gè)方法只對(duì)處于區(qū)域擴(kuò)張 的邊界上的多邊形進(jìn)行簡(jiǎn)化,簡(jiǎn)化的過程一^:采用頂點(diǎn)聚類。
這個(gè)方法的優(yōu)點(diǎn)(l)由于區(qū)域擴(kuò)張的遍歷網(wǎng)格的速度很快,因此在筒化 的時(shí)候速度也很快;(2)由于只用保存區(qū)域邊界上的數(shù)據(jù),因此需要的內(nèi)存存 儲(chǔ)非常小;(3)本方法使用頂點(diǎn)聚類的方法,而且還獲得了區(qū)域擴(kuò)張邊界上的 拓樸信息,因此是對(duì)頂點(diǎn)聚類的方法進(jìn)行擴(kuò)展和改進(jìn),這樣能得到很好的簡(jiǎn)化 效果。
第二種,基于緩沖區(qū)的方法(Buffer-based),這個(gè)方法跟基于邊界的方法 不同,不但在內(nèi)存中保存區(qū)域擴(kuò)張的邊界,而且還保存邊界附近的一部分網(wǎng)格, 把這部分網(wǎng)格作為緩沖區(qū),進(jìn)行網(wǎng)格簡(jiǎn)化的時(shí)候就是對(duì)這個(gè)緩沖區(qū)里的網(wǎng)格進(jìn) 行簡(jiǎn)化。具體簡(jiǎn)化緩沖區(qū)里網(wǎng)格的時(shí)候,可以使用在內(nèi)存中簡(jiǎn)化網(wǎng)格的各種方 法。
這個(gè)方法的優(yōu)點(diǎn)(l)網(wǎng)格簡(jiǎn)化的速度比較快;(2)內(nèi)存的占用量一般就是 緩沖區(qū)的大小,這個(gè)一般是限定大小的,因此簡(jiǎn)化時(shí)的內(nèi)存消耗是可以控制的, 可以依照當(dāng)前計(jì)算機(jī)的內(nèi)存大小來設(shè)定,不會(huì)出現(xiàn)內(nèi)存不足的情況;(3)由于 在緩沖區(qū)中有比較多的網(wǎng)格,并且這部分網(wǎng)格拓樸信息和幾何信息都是已知 的,因此可以使用在內(nèi)存進(jìn)行網(wǎng)格簡(jiǎn)化的方法對(duì)緩沖區(qū)里的網(wǎng)格進(jìn)行簡(jiǎn)化,能 夠得到很好的簡(jiǎn)化效果。使用區(qū)域擴(kuò)張的方法簡(jiǎn)化網(wǎng)格的同時(shí),可以把簡(jiǎn)化得 到的網(wǎng)格也使用區(qū)域擴(kuò)張的方式保存下來。
具體的,對(duì)于模型數(shù)據(jù)采取條帶狀存儲(chǔ),對(duì)于每一個(gè)拓樸連通的區(qū)域都可 以應(yīng)用此方法,從一個(gè)三角形(擴(kuò)張中心)開始找一個(gè)點(diǎn)與這個(gè)三角形的一條 邊組成第二個(gè)三角形,再找一個(gè)點(diǎn)又可以與一條邊組成另一個(gè)三角形,依此進(jìn)
行擴(kuò)張就可以鋪滿整個(gè)網(wǎng)格區(qū)域,通過這樣的處理,可以減少一半以上的頂點(diǎn) 數(shù)量。
步驟1022、壓縮原始精細(xì)三維模型的紋理數(shù)據(jù)。
所述紋理數(shù)據(jù)可以是通過數(shù)碼相機(jī)實(shí)地拍攝的相片,也可以是從網(wǎng)上下載 的現(xiàn)成數(shù)碼相片,當(dāng)所述相片與實(shí)際需要的精度不相符時(shí),需要對(duì)其進(jìn)行合并
與壓縮
1 、將紋理貼圖的大小根據(jù)對(duì)應(yīng)模型區(qū)域的大小進(jìn)行放縮;
2、 將重復(fù)的紋理貼圖去除;
3、 將紋理貼圖合并成大圖。
4、 務(wù)改模型中的頂點(diǎn)對(duì)應(yīng)的紋理坐標(biāo)與紋理路徑。 通過采用壓縮格式紋理貼圖,將原來為BMP等格式的紋理貼圖轉(zhuǎn)化為
JPEG或其他格式的紋理貼圖,減小數(shù)據(jù)量。利用一般建筑物外觀構(gòu)型的對(duì)稱 性和身見律性,對(duì)建筑物相片進(jìn)行分割,如巴建筑物的窗戶、陽臺(tái)、每一層都分 割出來,以位圖形式進(jìn)行存儲(chǔ),對(duì)建筑物選取一種到幾種公用的圖像塊,所述 圖像塊可以類似于圖式符號(hào),在建立真實(shí)感影像三維模型時(shí),對(duì)其進(jìn)行定位和 拼接,實(shí)現(xiàn)建筑物三維幾何;溪型整個(gè)表面的紋理貼圖,4是高了紋理貼圖在系統(tǒng) 中的重復(fù)使用率,并使系統(tǒng)的數(shù)據(jù)量得到最大限度的減小。因此經(jīng)過以上步驟 可以減少紋理貼圖傳輸?shù)呐魏痛笮?,能夠加速圖形的渲染。
步驟103、接受用戶的請(qǐng)求,下載模型數(shù)據(jù),渲染生成三維模型圖形。
通過步驟102的壓縮處理,三維模型數(shù)據(jù)得到了壓縮,減少了傳輸?shù)臄?shù)據(jù) 量和渲染所需的數(shù)據(jù)。
參照?qǐng)D2,示出了本發(fā)明另一種三維模型圖形生成方法的流程圖,包括
步驟201、獲取原始精細(xì)三維模型數(shù)據(jù)。
所述三維模型數(shù)據(jù)包括表示三維空間物體的多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù),利用三 維模型數(shù)據(jù)表示三維空間物體在現(xiàn)有技術(shù)中有多種實(shí)現(xiàn)方法,本發(fā)明對(duì)此并不 做詳細(xì)介紹。所述三維模型數(shù)據(jù)是精確表示三維空間物體的頂點(diǎn)網(wǎng)格數(shù)據(jù)及其 它拓樸數(shù)據(jù)。
步驟202,減少所述原始精細(xì)模型數(shù)據(jù)的頂點(diǎn)數(shù)量,按精簡(jiǎn)級(jí)別生成不同 層的模型數(shù)據(jù)。
對(duì)數(shù)據(jù)進(jìn)行分層是為了當(dāng)用戶在小的屏幕上顯示一個(gè)比較大的區(qū)域時(shí),不 會(huì)因?yàn)閿?shù)據(jù)量太大而看不清,這時(shí)只需較粗的數(shù)據(jù)就可以達(dá)到用戶的要求。根
據(jù)情況需要可以進(jìn)行多級(jí)分層,在本發(fā)明的一個(gè)實(shí)施例中,我們進(jìn)行了 20級(jí)
分層概括。每一次概括都對(duì)數(shù)據(jù)進(jìn)行抽稀,并設(shè)置了不同層級(jí)所需要顯示的內(nèi) 容。抽稀的原則主要是數(shù)據(jù)要素的重要程度,另外還需要考慮各個(gè)層級(jí)所需要 的數(shù)據(jù)量。經(jīng)過這樣的分層處理就形成了一個(gè)類似金字塔的數(shù)據(jù)序列,序列中 的每一級(jí)都包含了全部空間物體范圍中的數(shù)據(jù),但在數(shù)據(jù)量上是逐級(jí)遞減的。
步驟203、將步驟202所述生成不同層的模型數(shù)據(jù)按照區(qū)域劃分成塊。 分層處理后的模型數(shù)據(jù)如果直接下載渲染生成三維模型圖形,需要處理的 數(shù)據(jù)量仍然很大,不能很好的實(shí)時(shí)渲染生成圖形。因此需要進(jìn)一步對(duì)三維模型 數(shù)據(jù)進(jìn)行切分。切分可以以地理范圍為依據(jù)。也可是以數(shù)據(jù)量的多少為依據(jù), 本發(fā)明不對(duì)此進(jìn)行限制。在本發(fā)明的一個(gè)實(shí)施例中,使用正方形對(duì)模型數(shù)據(jù)進(jìn) 行切分。正方形的大小根據(jù)單個(gè)文件所承載的數(shù)據(jù)量及文件大小而定。正方形 的地理跨度是和所切分的層級(jí)是相關(guān)的,不同的層級(jí)使用不同的跨度。在本發(fā) 明的一個(gè)實(shí)施例中,各個(gè)層級(jí)的切分正方形跨度組合起來為一個(gè)2的等比數(shù) 列,這樣就形成了一棵數(shù)據(jù)四叉樹。
步驟204、壓縮各分層分塊中的三維模型數(shù)據(jù)。
在對(duì)三維模型數(shù)據(jù)進(jìn)行分層分塊處理后,加快了三維模型圖形的渲染速 度,為了更快的渲染生成三維模型圖形,本發(fā)明進(jìn)一步對(duì)分層分塊的三維模型 數(shù)據(jù)進(jìn)行壓縮。
為了減少傳輸和渲染所需的數(shù)據(jù)量,需要對(duì)描述場(chǎng)景物體的多邊形網(wǎng)格進(jìn) 行壓縮簡(jiǎn)化。
所述壓縮三維模型數(shù)據(jù)步驟具體包括對(duì)三維模型的網(wǎng)格頂點(diǎn)數(shù)據(jù)的壓縮 步驟2041和對(duì)三維^t型的紋理數(shù)據(jù)的壓縮步驟2042。
所述多邊形網(wǎng)格簡(jiǎn)化的方法包括基于幾何特征識(shí)別方法和基于小波變換 等方法。本發(fā)明優(yōu)選采取的是基于流式的三維模型壓縮方法。所謂基于流式的 三維模型壓縮就是把網(wǎng)格看作由多邊形組成的流,對(duì)于多邊形一個(gè)接一個(gè)的進(jìn) 行壓縮。流思想的一個(gè)實(shí)現(xiàn)就是區(qū)域擴(kuò)張。具體來說,就是從網(wǎng)格的一個(gè)多邊 形出發(fā),把這個(gè)多邊形看成一個(gè)區(qū)域(擴(kuò)張中心),每一次在這個(gè)區(qū)域的邊界
上擴(kuò)張一個(gè)多邊形,這樣得到一個(gè)更大的區(qū)域(擴(kuò)張中心),重復(fù)此操作,最 終得到的區(qū)域就是整個(gè)網(wǎng)格。使用這種方式就可以對(duì)網(wǎng)格中的多邊形 一個(gè)接一 個(gè)的進(jìn)行處理。具體操作時(shí),還有很多需要考慮的,比如網(wǎng)格的擴(kuò)張方式,也
就是說,每一次從區(qū)域的哪個(gè)位置擴(kuò)張新的多邊形;再比如,如果整個(gè)網(wǎng)格不
是一個(gè)連通分支,那么上面的方式就不可能擴(kuò)張到整個(gè)網(wǎng)格,可以通過對(duì)網(wǎng)格 的每個(gè)連通分支都進(jìn)行一次擴(kuò)張來解決該問題,顯而易見,在區(qū)域擴(kuò)張的過程 中,網(wǎng)格中的每一個(gè)多邊形有且僅有一次進(jìn)入?yún)^(qū)域擴(kuò)張的邊界。
所述壓縮的具體過程及原理與圖1所示方法中的步驟102相同,為節(jié)約篇
幅,在此不再詳述。
步驟2042、壓縮原始精細(xì)三維模型的紋理數(shù)據(jù)。
所述紋理數(shù)據(jù)可以是通過數(shù)碼相機(jī)實(shí)地拍攝的相片,也可以是從網(wǎng)上下載 的現(xiàn)成數(shù)碼相片,當(dāng)所述相片與實(shí)際需要的精度不相符時(shí),需要對(duì)其進(jìn)行合并 與壓縮
1 、將紋理貼圖的大小根據(jù)對(duì)應(yīng)模型區(qū)域的大小進(jìn)行放縮;
2、 將重復(fù)的紋理貼圖去除;
3、 將紋理貼圖合并成大圖。
4、 》務(wù)改才莫型中的頂點(diǎn)對(duì)應(yīng)的紋理坐標(biāo)與紋理5^徑。 通過采用壓縮格式紋理貼圖,將原來為BMP等格式的紋理貼圖轉(zhuǎn)化為
JPEG或其他格式的紋理貼圖,減小數(shù)據(jù)量。利用一般建筑物外觀構(gòu)型的對(duì)稱 性和規(guī)律性,對(duì)建筑物相片進(jìn)行分割,如把建筑物的窗戶、陽臺(tái)、每一層都分 割出來,以位圖形式進(jìn)行存儲(chǔ),對(duì)建筑物選取一種到幾種公用的圖像塊,所述 圖像塊可以類似于圖式符號(hào),在建立真實(shí)感影像三維模型時(shí),對(duì)其進(jìn)行定位和 拼接,實(shí)現(xiàn)建筑物三維幾何模型整個(gè)表面的紋理貼圖,提高了紋理貼圖在系統(tǒng) 中的重復(fù)使用率,并使系統(tǒng)的數(shù)據(jù)量得到最大限度的減小。因此經(jīng)過以上步驟 可以減少紋理貼圖傳輸?shù)呐魏痛笮?,能夠加速圖形的渲染。 步驟205、存儲(chǔ)所述分層分塊的三維模型數(shù)據(jù)。
所述存儲(chǔ)步驟可以是對(duì)三維模型數(shù)據(jù)分層分塊后存儲(chǔ),也可以是分層分塊 后并壓縮后再進(jìn)行存儲(chǔ),本發(fā)明并不對(duì)此進(jìn)行限定。
為了更好的存儲(chǔ)效果,本發(fā)明優(yōu)先采取條帶狀的格式存儲(chǔ)模型數(shù)據(jù)。在本
發(fā)明的一個(gè)實(shí)施例中,實(shí)現(xiàn)存儲(chǔ)的具體過程為通過前面的描述可知,地圖數(shù) 據(jù)是以金子塔結(jié)構(gòu)存儲(chǔ)的,共分20層,最下面也是最精細(xì)的一層應(yīng)為0.15米 的數(shù)據(jù)(每格0.15米采一次樣),最上面的一層是將地球用8張圖存儲(chǔ)。第i 層數(shù)據(jù)的每一張圖所表示的范圍是(18072j) * ( 18072i)。編碼格式為level + y + x, 。 x為該圖片在整張圖上從左向右數(shù)的第幾張,y是從上向下數(shù)的第幾 張,level是第幾層。才艮據(jù)用戶距地形的距離就知道需要請(qǐng)求的level。如果以 上面提到的level級(jí)的每張圖片作為一個(gè)單元,就可以建立一個(gè)坐標(biāo)系,那么 就可以根據(jù)請(qǐng)求數(shù)據(jù)的經(jīng)煒度計(jì)算出來它的位置(x, y)。 將x, y, level, 存儲(chǔ)在一個(gè)64位的數(shù)據(jù)中就是id號(hào),其中l(wèi)evel8位、y20位、x20位、還 有16位保留。在服務(wù)器上文件夾的建立和它的編碼^^式是相對(duì)應(yīng)的,首先建 立20個(gè)level文件夾,每個(gè)文件夾下再根據(jù)y的前8位+x的前8位建文件夾, 在上面的每個(gè)文件夾下再建對(duì)應(yīng)的y的后8位+x的后8位建立文件夾。這樣 就可以根據(jù)id直接算出文件存儲(chǔ)的位置,而避免了查找的過程。
步驟206、接受用戶的請(qǐng)求,下載模型數(shù)據(jù),渲染生成三維模型圖形。 通過前述步驟的分層分塊及壓縮處理,三維^^莫型數(shù)據(jù)得到了壓縮,減少了 傳輸?shù)臄?shù)據(jù)量和渲染所需的數(shù)據(jù),因此當(dāng)用戶請(qǐng)求下載渲染三維模型圖形時(shí), 能實(shí)時(shí)的滿足用戶的渲染請(qǐng)求。
進(jìn)一步,由于對(duì)才莫型數(shù)據(jù)進(jìn)行了分層分塊,因此可以根據(jù)用戶距離三維空 間物體的距離遠(yuǎn)近和所需要的精度下載所需要的層數(shù)據(jù)。用戶在看三維影像的 時(shí)候,可以根據(jù)用戶的位置離三維影像的距離來決定渲染哪一層哪一塊的模型 數(shù)據(jù)。這樣既可以保證渲染效果又減少了每一次的渲染量。如果用戶離模型有 一定距離,則并不是模型的精度越大看得越清楚,并不是在每個(gè)位置都需要下 載最精細(xì)的,因此可以根據(jù)精度分層分塊,這樣就減少了每次需要下載并渲染 的數(shù)據(jù)量。壓縮數(shù)據(jù)同樣為了減少數(shù)據(jù)量。這樣就可以減少渲染的數(shù)據(jù)批次, 加快渲染,使用戶有較好的體驗(yàn)感。
參照?qǐng)D3,示出了本發(fā)明一種三維模型圖形生成裝置的結(jié)構(gòu)框圖,包括 接收單元301,用于接收原始精細(xì)模型數(shù)據(jù),所述三維模型數(shù)據(jù)包括表示 三維空間物體的多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù),利用三維模型數(shù)據(jù)表示三維空間物體在 現(xiàn)有技術(shù)中有多種實(shí)現(xiàn)方法,本發(fā)明對(duì)此并不做詳細(xì)介紹。所述三維模型數(shù)據(jù)
是精確表示三維空間物體的頂點(diǎn)網(wǎng)格數(shù)據(jù)及其它拓樸數(shù)據(jù)。
壓縮單元302、用于壓縮原始精細(xì)三維模型數(shù)據(jù),減少三維模型數(shù)據(jù)的冗
余數(shù)據(jù)。
為了減少傳輸和渲染所需的數(shù)據(jù)量,需要對(duì)描述場(chǎng)景物體的多邊形網(wǎng)格進(jìn)
行壓縮簡(jiǎn)化。
進(jìn)一步,所述壓縮單元具體包括頂點(diǎn)數(shù)據(jù)壓縮單元3021,用于壓縮所述 三維模型的網(wǎng)格頂點(diǎn)數(shù)據(jù),減少三維模型數(shù)據(jù)的冗余數(shù)據(jù);
紋理數(shù)據(jù)壓縮單元3022,用于壓縮三維模型的紋理數(shù)據(jù),減少三維模型 數(shù)據(jù)的冗余數(shù)據(jù);
所述壓縮單元及頂點(diǎn)數(shù)據(jù)壓縮單元和紋理數(shù)據(jù)壓縮單元的原理及具體過 程與方法所示相同,為了節(jié)約篇幅,在此不再詳述。
圖形渲染生成單元303,用于接受用戶的請(qǐng)求,下載壓縮后的三維模型數(shù) 據(jù),渲染生成三維模型圖形。
通過壓縮單元302的壓縮處理,三維模型數(shù)據(jù)得到了壓縮,減少了傳輸?shù)?數(shù)據(jù)量和渲染所需的數(shù)據(jù),因此當(dāng)用戶請(qǐng)求下載渲染三維;漠型圖形時(shí),能實(shí)時(shí) 的滿足用戶的渲染請(qǐng)求。
參照?qǐng)D4及圖5,圖4示出了本發(fā)明另一種三維模型圖形生成裝置的結(jié)構(gòu) 框圖,包括
接收單元401,用于接收原始精細(xì)模型數(shù)據(jù),所述三維模型數(shù)據(jù)包括表示 三維空間物體的多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù),利用三維模型數(shù)據(jù)表示三維空間物體在 現(xiàn)有技術(shù)中有多種實(shí)現(xiàn)方法,本發(fā)明對(duì)此并不做詳細(xì)介紹。所述三維模型數(shù)據(jù) 是精確表示三維空間物體的頂點(diǎn)網(wǎng)格數(shù)據(jù)及其它拓4卜數(shù)據(jù)。
分層單元402,用于用于減少精細(xì)模型的頂點(diǎn)數(shù)量,按精簡(jiǎn)級(jí)別生成不同 層的模型數(shù)據(jù)。
對(duì)數(shù)據(jù)進(jìn)行分層是為了當(dāng)用戶在小的屏幕上顯示一個(gè)比較大的區(qū)域時(shí),不 會(huì)因?yàn)閿?shù)據(jù)量太大而看不清,這時(shí)只需較粗的數(shù)據(jù)就可以達(dá)到用戶的要求。根 據(jù)情況需要可以進(jìn)行多級(jí)分層。在本發(fā)明的一個(gè)實(shí)施例中,我們進(jìn)行了 20級(jí) 分層概括。每一次概括都對(duì)數(shù)據(jù)進(jìn)行抽稀,并設(shè)置了不同層級(jí)所需要顯示的內(nèi) 容。抽稀的原則主要是數(shù)據(jù)要素的重要程度,另外還需要考慮各個(gè)層級(jí)所需要
的數(shù)據(jù)量。經(jīng)過這個(gè)的分層處理就形成了一個(gè)類似金字塔的數(shù)據(jù)序列,序列中 的每一級(jí)都包含了全部空間物體范圍中的數(shù)據(jù),但在數(shù)據(jù)量上是逐級(jí)遞減的。
分塊單元403,用于將不同層的模型數(shù)據(jù)按照區(qū)域劃分成塊。 分層處理后的模型數(shù)據(jù)如果直接下載渲染生成三維模型圖形,需要處理的 數(shù)據(jù)量仍然很大,不能很好的實(shí)時(shí)渲染生成圖形。因此需要進(jìn)一步對(duì)三維模型 數(shù)據(jù)進(jìn)行切分。切分可以以地理范圍為依據(jù)。也可是以數(shù)據(jù)量的多少為依據(jù), 本發(fā)明不對(duì)此進(jìn)行限制。在本發(fā)明的一個(gè)實(shí)施例中,使用的是正方形對(duì)模型數(shù) 據(jù)進(jìn)行切分。正方形的大小根據(jù)單個(gè)文件所承載的數(shù)據(jù)量及文件大小而定。正 方形的地理跨度是和所切分的層級(jí)是相關(guān)的,不同的層級(jí)使用不同的跨度。在 本發(fā)明的一個(gè)實(shí)施例中,各個(gè)層級(jí)的切分正方形跨度組合起來為一個(gè)2的等比 數(shù)列,這樣就形成了一棵數(shù)據(jù)四叉樹。
壓縮單元404、用于壓縮原始精細(xì)三維模型數(shù)據(jù),減少三維才莫型數(shù)據(jù)的冗 余數(shù)據(jù)。
為了減少傳輸和渲染所需的數(shù)據(jù)量,需要對(duì)描述場(chǎng)景物體的多邊形網(wǎng)格進(jìn) ;f亍壓縮筒化。。
進(jìn)一步,所述壓縮單元具體包括頂點(diǎn)數(shù)據(jù)壓縮單元4041,用于壓縮所述 三維模型的網(wǎng)格頂點(diǎn)數(shù)據(jù),減少三維模型數(shù)據(jù)的冗余數(shù)據(jù); 進(jìn)一步,所述頂點(diǎn)數(shù)據(jù)壓縮單元包括 選定單元40411,用于選定網(wǎng)格中的一個(gè)多邊形;
擴(kuò)張單元40412,用于以所述選定的多邊形為中心,在中心的邊界上擴(kuò)張 多邊形,直至擴(kuò)張至整個(gè)網(wǎng)格。
紋理數(shù)據(jù)壓縮單元4042,用于壓縮三維模型的紋理數(shù)據(jù),減少三維模型 數(shù)據(jù)的冗余數(shù)據(jù)。
進(jìn)一步,所述紋理數(shù)據(jù)壓縮單元包括
紋理壓縮單元40421,用于轉(zhuǎn)換紋理貼圖的格式,壓縮格式紋理貼圖; 分割單元40422,用于圖像分割,分割重復(fù)的紋理貼圖; 第二存儲(chǔ)單元40423,用于存儲(chǔ)所述分割的紋理貼圖,所述紋理貼圖以位 圖的格式存儲(chǔ);
拼接單元40424,從第二存儲(chǔ)單元調(diào)用以位圖形式存儲(chǔ)的紋理貼圖,對(duì)其
進(jìn)行定位和拼接實(shí)現(xiàn)三維幾何模型整個(gè)表面的紋理貼圖。所述壓縮單元及頂點(diǎn) 數(shù)據(jù)壓縮單元和紋理數(shù)據(jù)壓縮單元的原理及具體過程與方法所示相同,為了節(jié) 約篇幅,在此不再詳述。
存儲(chǔ)單元405,用于分別存儲(chǔ)所述分層分塊的模型數(shù)據(jù)。 為了更好的存儲(chǔ)效果,本發(fā)明優(yōu)先采取條帶狀的格式存儲(chǔ)模型數(shù)據(jù)。 圖形渲染生成單元406,用于接受用戶的請(qǐng)求,下載壓縮后的三維模型數(shù) 據(jù),渲染生成三維模型圖形。
通過分層單元、分塊單元及壓縮單元的處理,三維模型數(shù)據(jù)得到了壓縮, 減少了傳輸?shù)臄?shù)據(jù)量和渲染所需的數(shù)據(jù),因此當(dāng)用戶請(qǐng)求下載渲染三維模型圖 形時(shí),能實(shí)時(shí)的滿足用戶的渲染請(qǐng)求。
進(jìn)一步,由于對(duì)模型數(shù)據(jù)進(jìn)行了分層分塊,因此可以根據(jù)用戶距離三維空 間物體的距離遠(yuǎn)近和所需要的精度下載所需要的層數(shù)據(jù)。用戶在看三維影像的 時(shí)候,可以根據(jù)用戶的位置離三維影像的距離來決定渲染哪一層哪一塊的模型 數(shù)據(jù)。這樣既可以保證渲染效果又減少了每一次的渲染量。如果用戶離模型有 一定距離,則并不是模型的精度越大看得越清楚,并不是在每個(gè)位置都需要下 載最精細(xì)的,因此可以根據(jù)精度分層分塊,這樣就減少了每次需要下載并渲染 的數(shù)據(jù)量。壓縮數(shù)據(jù)同樣為了減少數(shù)據(jù)量。這樣就可以減少渲染的數(shù)據(jù)批次, 加快渲染,使用戶有較好的體驗(yàn)感。
圖3、圖4的描述較為簡(jiǎn)略,未詳盡之處可以參見本說明書圖1、圖2相 應(yīng)部分的描述。
以上對(duì)本發(fā)明所提供的一種三維模型圖形的生成方法和裝置進(jìn)行了詳細(xì)
施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域 的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改 變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、一種三維模型圖形的生成方法,其特征在于,包括獲取原始精細(xì)三維模型數(shù)據(jù),所述三維模型數(shù)據(jù)包括表示三維空間物體的多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù);壓縮所述三維模型數(shù)據(jù),減少三維模型的冗余數(shù)據(jù);接受用戶請(qǐng)求,下載壓縮后的三維模型數(shù)據(jù),渲染生成三維模型圖形。
2、 如權(quán)利要求1所述的方法,其特特征在于,所述壓縮三維模型數(shù)據(jù)的 具體過程包括壓縮所述原始精細(xì)三維模型的網(wǎng)格頂點(diǎn)數(shù)據(jù),減少三維模型數(shù)據(jù)的冗余數(shù)據(jù);壓縮所述原始精細(xì)三維模型的紋理數(shù)據(jù),減少三維才莫型數(shù)據(jù)的冗余數(shù)據(jù)。
3、 如權(quán)利要求2所述的方法,其特征在于,在所述壓縮三維模型頂點(diǎn)數(shù) 據(jù)前進(jìn)一步包括減少原始精細(xì)模型的頂點(diǎn)數(shù)量,按精簡(jiǎn)級(jí)別生成不同層的模型數(shù)據(jù)。
4、 如權(quán)利要求3所述的方法,其特征在于,還包括將不同層的模型數(shù)據(jù)按照區(qū)域劃分成塊,分別存儲(chǔ)所述分層分塊后的模型 數(shù)據(jù)。
5、 如權(quán)利要求4所述的方法,其特征在于,所述渲染生成步驟為 接受用戶請(qǐng)求,下載特定層的模型數(shù)據(jù),渲染生成三維模型圖形。
6、 如權(quán)利要求2所述的方法,其特征在于,所述壓縮三維模型的頂點(diǎn)數(shù) 據(jù)的具體過程包括a、 選定網(wǎng)格中的一個(gè)多邊形;b、 以所述多邊形為擴(kuò)張中心,在擴(kuò)張中心的邊界上擴(kuò)張一個(gè)多邊形,得 到一個(gè)更大的擴(kuò)張中心;c、 重復(fù)步驟b,直至所述擴(kuò)張中心擴(kuò)張至整個(gè)網(wǎng)格。
7、 如權(quán)利要求4所述的方法,其特征在于 采取條帶狀存儲(chǔ)所述分層分塊的三維模型數(shù)據(jù)。
8、 如權(quán)利要求7所述的方法,其特征在于,所述壓縮三維模型的頂點(diǎn)數(shù) 據(jù)的具體過程包括al、選定網(wǎng)格中的一個(gè)三角形;bl、以所述三角形為擴(kuò)張中心,以所述三角形外的一個(gè)點(diǎn)與所述三角形的 一條邊組成另一個(gè)三角形,得到一個(gè)更大的擴(kuò)張中心;cl、重復(fù)步驟bl,直至所述擴(kuò)張中心擴(kuò)張至整個(gè)網(wǎng)格。
9、 如權(quán)利要求2所述的方法,其特征在于,所述壓縮三維模型的紋理數(shù) 據(jù)步驟包括將紋理圖像的大小根據(jù)對(duì)應(yīng)模型區(qū)域的大小進(jìn)行放縮;去除重復(fù)的紋理;將紋理圖合并成大圖。
10、 如權(quán)利要求9所述的方法,其特征在于,所述壓縮的具體步驟為 壓縮格式紋理貼圖;利用對(duì)稱性和規(guī)律性,進(jìn)行圖像分割,將重復(fù)的紋理貼圖分割,以位圖格 式存儲(chǔ);調(diào)用所述以位圖格式存儲(chǔ)的紋理貼圖,對(duì)其進(jìn)行定位和拼接,實(shí)現(xiàn)三維幾 何模型整個(gè)表面的紋理貼圖。
11、 如權(quán)利要求5所述的方法,其特征在于,所述下載特定層的模型數(shù)據(jù) 具體為根據(jù)用戶距離三維空間物體的距離和所需要的精度確定下載特定層的模 型數(shù)據(jù),并渲染生成三維模型圖形。
12、 一種三維模型圖形的生成裝置,其特征在于,包括接收單元,用于接收原始精細(xì)模型數(shù)據(jù),所述模型數(shù)據(jù)包括表示三維空間 物體的多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù);壓縮單元,用于壓縮三維模型數(shù)據(jù),減少三維模型的冗余數(shù)據(jù); 圖形渲染生成單元,用于接受用戶的請(qǐng)求,下載壓縮后的三維4莫型數(shù)據(jù),渲染生成三維模型圖形。
13、 如權(quán)利要求12所述的裝置,其特征在于,所述壓縮單元包括 頂點(diǎn)數(shù)據(jù)壓縮單元,用于壓縮所述三維模型的網(wǎng)格頂點(diǎn)數(shù)據(jù),減少三維模型數(shù)據(jù)的冗余數(shù)據(jù);紋理數(shù)據(jù)壓縮單元,用于壓縮三維模型的紋理數(shù)據(jù),減少三維模型數(shù)據(jù)的 冗余數(shù)據(jù)。
14、 如權(quán)利要求13所述的裝置,其特征在于,還包括分層單元,用于減少精細(xì)模型的頂點(diǎn)數(shù)量,按精簡(jiǎn)級(jí)別生成不同層的模型 數(shù)據(jù)。
15、 如權(quán)利要求14所述的裝置,其特征在于,還包括 分塊單元,用于將不同層的模型數(shù)據(jù)按照區(qū)域劃分成塊。
16、 如權(quán)利要求15所述的裝置,其特征在于,還包括 存儲(chǔ)單元,用于分別存儲(chǔ)所述分層分塊后的模型數(shù)據(jù)。
17、 如權(quán)利要求13所述的裝置,其特征在于,所述頂點(diǎn)數(shù)據(jù)壓縮單元包括選定單元,用于選定網(wǎng)格中的一個(gè)多邊形;擴(kuò)張單元,用于以所述選定的多邊形為中心,在中心的邊界上擴(kuò)張多邊形, 直至擴(kuò)張至整個(gè)網(wǎng)格。
18、 如權(quán)利要求13所述的裝置,其特征在于,所述紋理數(shù)據(jù)壓縮單元包括紋理壓縮單元,用于轉(zhuǎn)換紋理貼圖的格式,壓縮格式紋理貼圖; 分割單元,用于圖像分割,分割重復(fù)的紋理貼圖; 第二存儲(chǔ)單元,用于存儲(chǔ)所述分割的紋理貼圖,所述紋理貼圖以位圖的格式存儲(chǔ);拼接單元,從第二存儲(chǔ)單元調(diào)用以位圖形式存儲(chǔ)的紋理貼圖,對(duì)其進(jìn)行定 位和拼接實(shí)現(xiàn)三維幾何模型整個(gè)表面的紋理貼圖。
全文摘要
本發(fā)明提供了一種三維模型圖形的生成方法,包括獲取原始精細(xì)三維模型數(shù)據(jù),所述三維模型數(shù)據(jù)包括表示三維空間物體的多邊形網(wǎng)格頂點(diǎn)數(shù)據(jù);壓縮所述三維模型數(shù)據(jù),減少三維模型的冗余數(shù)據(jù);接受用戶請(qǐng)求,下載壓縮后的三維模型數(shù)據(jù),渲染生成三維模型圖形。通過本發(fā)明所述方法,降低了這些模型的復(fù)雜度,減少了圖形系統(tǒng)需要處理的多邊形數(shù)目,減少需要傳輸?shù)臄?shù)據(jù)量,特別是減少渲染生成圖形所需的數(shù)據(jù)量,提高了渲染速度,滿足了用戶實(shí)時(shí)渲染要求,本發(fā)明還提供了一種三維模型圖形生成裝置。
文檔編號(hào)G06T15/00GK101364310SQ200710120040
公開日2009年2月11日 申請(qǐng)日期2007年8月7日 優(yōu)先權(quán)日2007年8月7日
發(fā)明者路 劉, 茳 孫, 孫慶文, 孫維志 申請(qǐng)人:北京靈圖軟件技術(shù)有限公司