一種快速三維成圖方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種快速三維成圖方法和系統(tǒng),該方法包括:建立模型庫(kù),該模型庫(kù)中,以場(chǎng)景模型為建模的基本單元;采集地形數(shù)據(jù),將地形數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù),根據(jù)幾何數(shù)據(jù)建立地塊圖形;針對(duì)當(dāng)前場(chǎng)景對(duì)象,在所述模型庫(kù)中,查找與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型;在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景。通過本發(fā)明提供的方法以場(chǎng)景模型為建模的基本單元,建模過程中從預(yù)先建立的模型庫(kù)中提取需要的場(chǎng)景模型,建模過程簡(jiǎn)單,能夠快速的完成對(duì)三維場(chǎng)景的創(chuàng)建。
【專利說明】一種快速三維成圖方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖像【技術(shù)領(lǐng)域】,尤其涉及一種快速三維成圖方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著三維成圖技術(shù)的發(fā)展,單調(diào)的文本數(shù)據(jù)與二維符號(hào)化表現(xiàn)形式已不再滿足人們的需求,通過三維成圖技術(shù)直觀的將信息展現(xiàn)出來,有利于人們對(duì)大量信息的分析和處理。
[0003]在現(xiàn)有技術(shù)中,三維成圖方法以點(diǎn)、線、面等幾何元素為最小編輯單元,通過點(diǎn)、線、面作為基本單元來建模。采用模塊化的建模與渲染方式,制作出不同用途的可視化產(chǎn)品,如網(wǎng)際網(wǎng)絡(luò)、計(jì)算機(jī)游戲、多媒體、建筑設(shè)計(jì)、交互式電視、教育培訓(xùn)、仿真與產(chǎn)品展示等,用戶通過專業(yè)軟件讀取、顯示具有固定格式的產(chǎn)品三維場(chǎng)景圖。在現(xiàn)有的三維成圖方法中,當(dāng)需要調(diào)整、添加或者刪除場(chǎng)景中的對(duì)象模型時(shí),需要對(duì)信息在底層進(jìn)行修改、編譯來實(shí)現(xiàn),當(dāng)場(chǎng)景環(huán)境發(fā)生變化時(shí),需要重新構(gòu)建模型。
[0004]根據(jù)以上描述可以看出,用戶需要構(gòu)建一個(gè)三維場(chǎng)景時(shí),需要以點(diǎn)、線、面為基本單元來建模,對(duì)場(chǎng)景中的對(duì)象模型進(jìn)行改動(dòng)時(shí),需要對(duì)信息在底層進(jìn)行修改、編譯來實(shí)現(xiàn),建模過程復(fù)雜。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種快速三維成圖方法和系統(tǒng),以場(chǎng)景模型為建模的基本單元,預(yù)先建立模型庫(kù),建模時(shí)從模型庫(kù)中查找需要的場(chǎng)景模型,建模過程簡(jiǎn)單,能夠快速的完成對(duì)三維場(chǎng)景的創(chuàng)建。
[0006]—方面,本發(fā)明實(shí)施例提供了 一種快速三維成圖的方法,建立模型庫(kù),該模型庫(kù)中,以場(chǎng)景模型為建模的基本單元,所述方法還包括:
[0007]采集地形數(shù)據(jù),將地形數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù),根據(jù)幾何數(shù)據(jù)建立地塊圖形;
[0008]針對(duì)當(dāng)前場(chǎng)景對(duì)象,在所述模型庫(kù)中,查找與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型;
[0009]在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景。
[0010]進(jìn)一步地,所述采集地形數(shù)據(jù),將地形數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù),包括:
[0011]所述地形數(shù)據(jù)包括數(shù)據(jù)采集點(diǎn)的坐標(biāo)數(shù)據(jù);
[0012]將數(shù)據(jù)采集點(diǎn)的坐標(biāo)數(shù)據(jù)通過坐標(biāo)轉(zhuǎn)換矩陣轉(zhuǎn)換成當(dāng)前坐標(biāo)系下的局部坐標(biāo)數(shù)據(jù);
[0013]將局部坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成具有點(diǎn)、面數(shù)據(jù)結(jié)構(gòu)的幾何數(shù)據(jù);
[0014]和/ 或,
[0015]所述根據(jù)幾何數(shù)據(jù)建立地塊圖形,包括:
[0016]根據(jù)所述幾何數(shù)據(jù)構(gòu)建面結(jié)構(gòu)體,捕捉面結(jié)構(gòu)體的角點(diǎn)坐標(biāo)和拓?fù)湫畔ⅲ?br>
[0017]將各個(gè)角點(diǎn)按照拓?fù)湫畔⑦B接起來,構(gòu)成地塊圖形。
[0018]進(jìn)一步地,所述根據(jù)幾何數(shù)據(jù)建立地塊圖形之后,進(jìn)一步包括:[0019]遍歷地塊圖形的角點(diǎn)坐標(biāo),確定坐標(biāo)值的xmin, xmax, ymin, ymax ;
[0020]定義矢量地圖包圍盒為:
[0021](xmin-C, ymin-C), (xmax+C, ymin-C), (xmax+C, ymax+C), (xmin C, ymax+C)
[0022]四個(gè)點(diǎn)連接起來的矩形區(qū)域?yàn)槭噶康貓D包圍盒,其中,C為常數(shù),用于設(shè)定矢量地圖包圍盒區(qū)域生成范圍;
[0023]根據(jù)矢量地圖包圍盒構(gòu)建地面可視化圖形。
[0024]進(jìn)一步地,所述模型庫(kù)進(jìn)一步包括:
[0025]根據(jù)多層組織與層間動(dòng)態(tài)映射關(guān)系組織各個(gè)場(chǎng)景模型;
[0026]所述根據(jù)多層組織與層間動(dòng)態(tài)映射關(guān)系組織各個(gè)場(chǎng)景模型包括:
[0027]預(yù)先設(shè)置所述模型庫(kù)包括模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理三個(gè)部分;
[0028]所述模型類別包括場(chǎng)景模型所屬的模型類別信息,每一個(gè)模型類別對(duì)應(yīng)一個(gè)以上的場(chǎng)景模型;
[0029]所述幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)包括模型庫(kù)中場(chǎng)景模型的網(wǎng)格信息;
[0030]所述細(xì)節(jié)紋理包括場(chǎng)景模型的表面細(xì)節(jié)紋理圖片信息;
[0031]將模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理分別存儲(chǔ)在不同表中,其中,模型類別作為表的一個(gè)字段,與幾何網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理通過動(dòng)態(tài)映射關(guān)系函數(shù)相連;
[0032]假設(shè)模型類別為A,動(dòng)態(tài)映射函數(shù)為f1; f2,…,fn,則
[0033]K(Ipt1)=A
[0034]f2 (d2, t2) =A
[0035]…
[0036]fn(dn, tn) = A
[0037]其中,(Ii, i = 1,2, “.η為場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)集合,ti; i = 1,2, “.η為細(xì)節(jié)紋理集合,fi隨著屯,\的變化動(dòng)態(tài)變化。
[0038]進(jìn)一步地,所述針對(duì)當(dāng)前場(chǎng)景對(duì)象,在所述模型庫(kù)中,查找與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型包括:
[0039]針對(duì)當(dāng)前所需的場(chǎng)景對(duì)象,在模型庫(kù)中確定對(duì)應(yīng)的模型類別;
[0040]在所確定的模型類別對(duì)應(yīng)的各個(gè)場(chǎng)景模型中,查找到與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型。
[0041]進(jìn)一步地,所述在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景,包括:
[0042]當(dāng)檢測(cè)到三維場(chǎng)景中的第一場(chǎng)景對(duì)象和第二場(chǎng)景對(duì)象的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理相同或相似,位置、大小、方向不同時(shí),對(duì)已經(jīng)從模型庫(kù)中獲得的第一場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型存儲(chǔ)一次,在幀緩存中存儲(chǔ)該場(chǎng)景模型幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理信息,利用矩陣變換得到第二場(chǎng)景對(duì)象的場(chǎng)景模型。
[0043]另一方面,本發(fā)明實(shí)施例還提供了一種快速三維成圖系統(tǒng),所述系統(tǒng)包括:
[0044]模型庫(kù)建立模塊,用于建立模型庫(kù);
[0045]數(shù)據(jù)采集模塊,用于采集地形數(shù)據(jù);
[0046]數(shù)據(jù)轉(zhuǎn)換模塊,用于將數(shù)據(jù)采集模塊采集的地形數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù);
[0047]地塊圖形建立模塊,用于根據(jù)數(shù)據(jù)轉(zhuǎn)換模塊輸出的幾何數(shù)據(jù)建立地塊圖形;
[0048]第一查找模塊,用于針對(duì)當(dāng)前場(chǎng)景對(duì)象,在所述模型庫(kù)中,查找與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型;
[0049]三維場(chǎng)景構(gòu)建模塊,用于在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景。
[0050]進(jìn)一步地,所述系統(tǒng)還包括:
[0051]遍歷模塊,用于遍歷地形矢量圖中地塊圖形的角點(diǎn)坐標(biāo),確定坐標(biāo)值的xmin,Xfflax,
ymin? ymax ;
[0052]地面可視化圖形構(gòu)建模塊,用于根據(jù)矢量地圖包圍盒構(gòu)建地面可視化圖形,
[0053]定義矢量地圖包圍盒為:
[0054](xmin-C, ymin-C), (xmax+C, ymin-C), (xmax+C, ymax+C), (xmin-C, ymax+C)
[0055]四個(gè)點(diǎn)連接起來的矩形區(qū)域?yàn)槭噶康貓D包圍盒,其中,C為常數(shù),用于設(shè)定矢量地圖包圍盒區(qū)域生成范圍。
[0056]進(jìn)一步地,所述系統(tǒng)還包括:
[0057]場(chǎng)景模型組織模塊,用于根據(jù)多層組織與層間動(dòng)態(tài)映射關(guān)系組織各個(gè)場(chǎng)景模型;
[0058]所述根據(jù)多層組織與層間動(dòng)態(tài)映射關(guān)系組織各個(gè)場(chǎng)景模型包括:
[0059]預(yù)先設(shè)置所述模型庫(kù)包括模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理三個(gè)部分;
[0060]所述模型類別包括場(chǎng)景模型所屬的模型類別信息,每一個(gè)模型類別對(duì)應(yīng)一個(gè)以上的場(chǎng)景模型;
[0061]所述幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)包括模型庫(kù)中場(chǎng)景模型的網(wǎng)格信息;
[0062]所述細(xì)節(jié)紋理包括場(chǎng)景模型的表面細(xì)節(jié)紋理圖片信息;
[0063]將模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理分別存儲(chǔ)在不同表中,其中,模型類別作為表的一個(gè)字段,與幾何網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理通過動(dòng)態(tài)映射關(guān)系函數(shù)相連;
[0064]假設(shè)模型類別為A,動(dòng)態(tài)映射函數(shù)為f1; f2,…,fn,則
[0065]fl ((I1, = A
[0066]f2 (d2, t2) =A
[0067]…
[0068]fn(dn, tn) = A
[0069]其中,(Ii, i = 1,2,...n為場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)集合,ti; i = 1,2,...η為細(xì)節(jié)紋理集合,fi隨著屯,\的變化動(dòng)態(tài)變化。
[0070]進(jìn)一步地,所述第一查找模塊還包括:
[0071]確定模塊,用于針對(duì)當(dāng)前所需的場(chǎng)景對(duì)象,在模型庫(kù)中確定對(duì)應(yīng)的模型類別;
[0072]第二查找模塊,用于在確定模塊所確定的模型類別對(duì)應(yīng)的各個(gè)場(chǎng)景模型中,查找到與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型。
[0073]進(jìn)一步地,所述系統(tǒng)還包括:
[0074]場(chǎng)景模型變換模塊,用于當(dāng)所述三 維場(chǎng)景中的場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理相同或相似,位置、大小、方向不同時(shí),對(duì)場(chǎng)景模型存儲(chǔ)一次,在幀緩存中存儲(chǔ)場(chǎng)景模型幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理信息,利用矩陣變換得到結(jié)構(gòu)相同的場(chǎng)景模型。
[0075]可見,本發(fā)明實(shí)施例提供了一種快速三維成圖方法和系統(tǒng),以場(chǎng)景模型為建模的基本單元,建模過程中從預(yù)先建立的模型庫(kù)中提取需要的場(chǎng)景模型,不需要以點(diǎn)線面為基本單元來建模,建模過程簡(jiǎn)單,能夠快速的完成對(duì)三維場(chǎng)景的創(chuàng)建。【專利附圖】
【附圖說明】
[0076]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0077]圖1是本發(fā)明實(shí)施例提供的一種快速三維成圖方法流程圖;
[0078]圖2是本發(fā)明實(shí)施例提供的一種建立模型庫(kù)的示意圖;
[0079]圖3是本發(fā)明實(shí)施例提供的將坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù)的流程圖;
[0080]圖4是本發(fā)明實(shí)施例提供的一種場(chǎng)景模型文件讀取方法流程圖;
[0081]圖5是本發(fā)明實(shí)施例提供的一種針對(duì)農(nóng)村生活/生產(chǎn)場(chǎng)景的快速三維成圖方法流程圖;
[0082]圖6是本發(fā)明實(shí)施例提供的農(nóng)村生活/生產(chǎn)場(chǎng)景模型庫(kù)的組織映射關(guān)系圖;
[0083]圖7是本發(fā)明實(shí)施例提供的一種農(nóng)村生活/生產(chǎn)場(chǎng)景模型庫(kù)中場(chǎng)景模型文件讀取方法流程圖;
[0084]圖8是本發(fā)明實(shí)施例提供的一種農(nóng)村生活/生產(chǎn)場(chǎng)景示意圖;
[0085]圖9是本發(fā)明實(shí)施例提供的一種快速三維成圖系統(tǒng)示意圖;
[0086]圖10是本發(fā)明實(shí)施例提供的一種快速三維成圖系統(tǒng)界面示意圖;
[0087]圖11是本發(fā)明實(shí)施例提供的一種三維場(chǎng)景可視化管理界面示意圖。
【具體實(shí)施方式】
[0088]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0089]隨著三維成圖技術(shù)的發(fā)展,人們對(duì)信息呈現(xiàn)的方式的要求越來越高,單調(diào)的文本數(shù)據(jù)和二維符號(hào)化的呈現(xiàn)方式已經(jīng)不能滿足需求,利用三維成圖技術(shù)將信息立體的直觀的呈現(xiàn)出來更有利于人們對(duì)大量信息的分析和處理。
[0090]為了能夠快速方便的建立三維場(chǎng)景,本發(fā)明實(shí)施例提供了 一種快速三維成圖的方法,參見圖1,該方法包括:
[0091]步驟101:建立模型庫(kù),該模型庫(kù)中,以場(chǎng)景模型為建模的基本單元;
[0092]步驟102:采集地形數(shù)據(jù),將地形數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù),根據(jù)幾何數(shù)據(jù)建立地塊圖形;
[0093]步驟103:針對(duì)當(dāng)前場(chǎng)景對(duì)象,在所述模型庫(kù)中,查找與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型;
[0094]步驟104:在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景。
[0095]可見,本發(fā)明實(shí)施例提出的快速三維成圖方法以場(chǎng)景模型為基本單元,建模時(shí)可以從模型庫(kù)中調(diào)用場(chǎng)景模型添加到地塊圖形上,建模過程簡(jiǎn)單。
[0096]在構(gòu)建三維場(chǎng)景前,首先要預(yù)先建立模型庫(kù)。模型庫(kù)用來提供場(chǎng)景模型存儲(chǔ)和表示模式的,是各種場(chǎng)景模型的集合。模型庫(kù)由許多相關(guān)數(shù)據(jù)結(jié)構(gòu)組成,是模型管理的物質(zhì)基礎(chǔ)。建立模型庫(kù)首先要考慮模型庫(kù)的組織和表示形式問題,以便對(duì)場(chǎng)景模型進(jìn)行管理。模型庫(kù)中,以場(chǎng)景模型為建模的基本單元,本發(fā)明實(shí)施例提供了一種多層組織與層間動(dòng)態(tài)映射關(guān)系模型來組織模型庫(kù)中的各個(gè)場(chǎng)景模型,上述的多層組織與層間動(dòng)態(tài)映射關(guān)系模型具體包括:
[0097]預(yù)先設(shè)置模型庫(kù)中的場(chǎng)景模型包括模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理三個(gè)部分;
[0098]模型類別包括場(chǎng)景模型所屬的模型類別信息,每一個(gè)模型類別對(duì)應(yīng)一個(gè)以上的場(chǎng)景模型;
[0099]幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)包括模型庫(kù)中場(chǎng)景模型的網(wǎng)格信息;
[0100]細(xì)節(jié)紋理包括場(chǎng)景模型的表面細(xì)節(jié)紋理圖片信息;
[0101]將模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理分別存儲(chǔ)在不同表中,其中,模型類別作為表的一個(gè)字段,與幾何網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理通過動(dòng)態(tài)映射關(guān)系函數(shù)相連;
[0102]假設(shè)模型類別為A,動(dòng)態(tài)映射函數(shù)為f1; f2,…,fn,則
[0103]T1 ((I1, = A
[0104]f2 (d2, t2) = A
[0105]…
[0106]fn(dn, tn) = A
[0107]其中,(Ii, i = 1,2, “.η為場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)集合,ti; i = 1,2, “.η為細(xì)節(jié)紋理集合,fi隨著屯,\的變化動(dòng)態(tài)變·化。
[0108]其中,&隨著屯,\的變化動(dòng)態(tài)變化,能夠避免模型庫(kù)在更新數(shù)據(jù)時(shí),日志記錄信息的數(shù)量導(dǎo)致性能下降。
[0109]還可以定義命令解釋模塊,用來提取場(chǎng)景模型中的模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理信息,并對(duì)提取的信息建立多層組織與層間動(dòng)態(tài)映射關(guān)系。
[0110]通過采用場(chǎng)景模型多層組織與層間動(dòng)態(tài)映射關(guān)系模型來建立模型庫(kù),便于對(duì)場(chǎng)景模型進(jìn)行管理,能夠提高模型庫(kù)中文件的調(diào)用效率。
[0111]根據(jù)上述的場(chǎng)景模型多層組織與層間動(dòng)態(tài)映射關(guān)系模型來建立模型庫(kù),參見圖2,首先,根據(jù)實(shí)際場(chǎng)景,利用建模工具,建立仿真模型,將建立的仿真模型導(dǎo)入模型庫(kù)中,通過命令解釋模塊,提取模型中的模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理信息,并對(duì)提取的信息建立多層組織與層間動(dòng)態(tài)映射關(guān)系。
[0112]然后,構(gòu)建地塊圖形。構(gòu)建地塊圖形需要的地形數(shù)據(jù)包括采集點(diǎn)的坐標(biāo)數(shù)據(jù),采集到的坐標(biāo)數(shù)據(jù)需要轉(zhuǎn)換成幾何數(shù)據(jù)用于建立地塊圖形,參見圖3,轉(zhuǎn)換步驟包括:
[0113]步驟301:將數(shù)據(jù)采集點(diǎn)的坐標(biāo)數(shù)據(jù)通過坐標(biāo)轉(zhuǎn)換矩陣轉(zhuǎn)換成當(dāng)前坐標(biāo)系下的局部坐標(biāo)數(shù)據(jù);
[0114]步驟302:將局部坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成具有點(diǎn)、面數(shù)據(jù)結(jié)構(gòu)的幾何數(shù)據(jù);
[0115]步驟303:根據(jù)所述幾何數(shù)據(jù)構(gòu)建面結(jié)構(gòu)體,捕捉面結(jié)構(gòu)體的角點(diǎn)坐標(biāo)和拓?fù)湫畔ⅲ?br>
[0116]步驟304:將各個(gè)角點(diǎn)按照拓?fù)湫畔⑦B接起來,構(gòu)成地塊圖形。
[0117]在建立地塊圖形的過程中,根據(jù)采集數(shù)據(jù)采集點(diǎn)的坐標(biāo)數(shù)據(jù),還能得出所采集的地塊的周長(zhǎng)、面積等信息,并對(duì)要建立的地塊圖形進(jìn)行屬性描述,得到地塊圖形的屬性數(shù)據(jù)。其中,得到的地塊圖形是矢量圖。
[0118]通過上述步驟建立的地塊圖形是地形封閉輪廓圖,沒有進(jìn)行數(shù)據(jù)采集的地面在建成的三維場(chǎng)景中會(huì)呈現(xiàn)黑洞,使三維場(chǎng)景不夠逼真和美觀,要解決這個(gè)問題,需要在黑洞的部分填充地面可視化圖形,首先,定義矢量地圖包圍盒為:
[0119](Xmin-C, ymin-C), (xmax+C, ymin-C), (xmax+C, ymax+C), (xmin~C, ymax+C)
[0120]四個(gè)點(diǎn)連接起來的矩形區(qū)域?yàn)槭噶康貓D包圍盒,其中,C為常數(shù),用于設(shè)定矢量地圖包圍盒區(qū)域生成范圍;
[0121]其中,通過遍歷地形矢量圖中地塊圖形的角點(diǎn)坐標(biāo),確定坐標(biāo)值的xmin, xmax, ymin,
y max °
[0122]然后,在建立矢量地圖包圍盒后,根據(jù)矢量地圖包圍盒構(gòu)建地面可視化圖形。其中,可以根據(jù)需要對(duì)地面可視化圖形進(jìn)行屬性編輯。
[0123]地面可視化圖形能夠隨著地塊圖形成比例放縮,為了節(jié)省放縮算法的運(yùn)行時(shí)間,本發(fā)明實(shí)施例用一種基于參考坐標(biāo)系的角點(diǎn)放縮標(biāo)記方法進(jìn)行放縮。首先,定義標(biāo)記參數(shù)為當(dāng)前放縮比例,然后,在放縮函數(shù)中添加標(biāo)記參數(shù),將標(biāo)記參數(shù)傳遞給矢量地圖包圍盒的四個(gè)角點(diǎn)的坐標(biāo),將角點(diǎn)的坐標(biāo)放大或縮小標(biāo)記參數(shù)倍。
[0124]通過采用上述方法進(jìn)行放縮,當(dāng)?shù)貕K圖形被放縮不同比例時(shí),不需要重新搜索當(dāng)前比例下的xmin,Xfflax, yfflin, Yfflax值,從而提高了成比例放縮后,地面可視化圖形和地塊圖形的生成速度。
[0125]建立地塊圖形后,要構(gòu)建三維場(chǎng)景需要從模型庫(kù)中讀取場(chǎng)景模型,針對(duì)當(dāng)前所需的場(chǎng)景對(duì)象,在模型庫(kù)中確定對(duì)應(yīng)的模型類別;在所確定的模型類別對(duì)應(yīng)的各個(gè)場(chǎng)景模型中,查找到與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型。
[0126]具體地,本發(fā)明實(shí)施例提供了一種場(chǎng)景模型文件先判斷再遍歷的方式,參見圖4,具體流程包括:
[0127]在讀取場(chǎng)景模型時(shí),針對(duì)當(dāng)前所需的場(chǎng)景對(duì)象,先判斷對(duì)應(yīng)的場(chǎng)景模型是否屬于模型類別中的任意一類:
[0128]如果場(chǎng)景模型不屬于模型類別中的任意一類,則輸出場(chǎng)景模型不存在,返回空指針,結(jié)束場(chǎng)景模型讀取過程;
[0129]如果場(chǎng)景模型屬于其中的任意一類,則遍歷所述場(chǎng)景模型所屬的模型類別下的子樹,判斷場(chǎng)景模型是否存在:
[0130]如果場(chǎng)景模型不存在,則輸出場(chǎng)景模型不存在,結(jié)束場(chǎng)景模型讀取過程;
[0131]如果場(chǎng)景模型存在,則判斷場(chǎng)景模型文件的格式:
[0132]如果為3ds格式,則獲取模型指針,加載模型數(shù)據(jù)并將模型名稱作為子節(jié)點(diǎn),添加到場(chǎng)景中,結(jié)束場(chǎng)景模型讀取過程;
[0133]如果為bmp格式,則獲取圖像對(duì)應(yīng)的文件頭指針,加載圖像數(shù)據(jù)并將圖像名稱作為子節(jié)點(diǎn),添加到場(chǎng)景中,結(jié)束場(chǎng)景模型讀取過程;
[0134]如果這兩種格式都不存在,則輸出加載文件類型錯(cuò)誤,返回空指針,結(jié)束場(chǎng)景模型讀取過程。
[0135]通過這種先判斷在遍歷的場(chǎng)景模型讀取方式,能夠大大節(jié)省場(chǎng)景模型的加載時(shí)間,提高三維成圖的效率。[0136]最后,在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景。在構(gòu)建的過程中,在三維場(chǎng)景中用到很多幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理相同或相似,位置、大小、方向不同的場(chǎng)景模型時(shí),如果存儲(chǔ)每個(gè)用到的場(chǎng)景模型文件,會(huì)占用很多的存儲(chǔ)空間,本發(fā)明實(shí)施例提供了一種基于場(chǎng)景模型實(shí)例的場(chǎng)景圖組織方法,能夠節(jié)省場(chǎng)景的存儲(chǔ)空間。這種方法具體為:當(dāng)三維場(chǎng)景中的場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理相同或相似,位置、大小、方向不同時(shí),對(duì)場(chǎng)景模型存儲(chǔ)一次,在幀緩存中存儲(chǔ)場(chǎng)景模型幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理信息,利用矩陣變換得到結(jié)構(gòu)相同的場(chǎng)景模型。通過這種方法能夠節(jié)省場(chǎng)景的存儲(chǔ)空間。其中,為了便于場(chǎng)景管理,對(duì)進(jìn)入三維場(chǎng)景中的場(chǎng)景對(duì)象進(jìn)行高層封裝,形成獨(dú)立的實(shí)體單
J Li ο
[0137]下面以對(duì)農(nóng)村生產(chǎn)/生活場(chǎng)景建立三維場(chǎng)景為例,來詳細(xì)說明本發(fā)明一個(gè)實(shí)施例的實(shí)現(xiàn)過程。具體流程參見圖5所示。
[0138]步驟501:建立農(nóng)村生活/生產(chǎn)場(chǎng)景模型庫(kù);
[0139]具體地,根據(jù)農(nóng)村生活/生產(chǎn)實(shí)際場(chǎng)景,利用建模工具,建立仿真模型,將建立的仿真模型導(dǎo)入模型庫(kù)中,通過命令解釋模塊,提取模型中的模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理信息,并對(duì)提取的信息建立多層組織與層間動(dòng)態(tài)映射關(guān)系。
[0140]具體地,將建立的場(chǎng)景模型分為5個(gè)模型類別:
[0141]生活建筑類:包含與農(nóng)民生活密切相關(guān)的建筑物新景象,如村房、農(nóng)家小院、回遷樓房等;
[0142]公共建筑類:包含為村民提供生活服務(wù)的建筑場(chǎng)所,如村委會(huì)、衛(wèi)生所、信用所等;.[0143]商業(yè)建筑類:包含體現(xiàn)生產(chǎn)與生活、代表當(dāng)前新農(nóng)村的特性的建筑場(chǎng)所,如超市、飯店、農(nóng)機(jī)服務(wù)站、農(nóng)產(chǎn)品加工廠等;
[0144]農(nóng)業(yè)生產(chǎn)類:包含農(nóng)業(yè)設(shè)施、畜牧養(yǎng)殖、大田作物、瓜果作物、生產(chǎn)機(jī)具等農(nóng)業(yè)生產(chǎn)對(duì)象與為其服務(wù)的設(shè)施、設(shè)備,還包括果園、魚塘、養(yǎng)殖場(chǎng)等農(nóng)業(yè)生產(chǎn)對(duì)象,蘋果樹、梨樹等果樹,奶牛、羊、馬等動(dòng)物;
[0145]基礎(chǔ)設(shè)施類:包含農(nóng)村道路規(guī)劃、路燈等,存儲(chǔ)在模型庫(kù)中的格式為bmp,用戶從數(shù)據(jù)庫(kù)中調(diào)用描述不同道路,如水泥路、土路等。
[0146]參見圖6,農(nóng)村生活/生產(chǎn)場(chǎng)景模型庫(kù)的多層組織與層間動(dòng)態(tài)映射關(guān)系。將模型類另IJ、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理分別存儲(chǔ)在不同表中,其中,模型類別作為表的一個(gè)字段,與幾何網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理通過動(dòng)態(tài)映射關(guān)系函數(shù)相連;
[0147]假設(shè)模型類別為A,動(dòng)態(tài)映射函數(shù)為f1; f2,…,fn,則
[0148]T1 ((I1, = A
[0149]f2 (d2, t2) = A
[0150]…
[0151]fn(dn, tn) =A
[0152]其中,(Ii, i = 1,2,...n為場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)集合,ti; i = 1,2,...η為細(xì)節(jié)紋理集合,fi隨著屯,\的變化動(dòng)態(tài)變化。
[0153]步驟502:利用數(shù)據(jù)采集儀在數(shù)據(jù)采集點(diǎn)采集地形數(shù)據(jù);
[0154]步驟503:將采集到的數(shù)據(jù)采集點(diǎn)的坐標(biāo)數(shù)據(jù)通過坐標(biāo)轉(zhuǎn)換矩陣轉(zhuǎn)換成當(dāng)前坐標(biāo)系下的局部坐標(biāo)數(shù)據(jù);
[0155]步驟504:將局部坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成具有點(diǎn)、面數(shù)據(jù)結(jié)構(gòu)的幾何數(shù)據(jù);
[0156]步驟505:根據(jù)幾何數(shù)據(jù)構(gòu)建面結(jié)構(gòu)體,捕捉面結(jié)構(gòu)體的角點(diǎn)坐標(biāo)和拓?fù)湫畔ⅲ?br>
[0157]步驟506:將各個(gè)角點(diǎn)按照拓?fù)湫畔⑦B接起來,構(gòu)成地塊圖形。
[0158]下面是對(duì)得到的矢量文件的描述,如表I所示。
[0159]其中,g是面的類名,V是每個(gè)面的角點(diǎn)坐標(biāo),其中的X與y的坐標(biāo)值已通過坐標(biāo)轉(zhuǎn)換矩陣轉(zhuǎn)換為當(dāng)前坐標(biāo)系下的局部坐標(biāo)值,設(shè)定z的默認(rèn)值為0,f是角點(diǎn)之間的連接順序,即面的拓?fù)湫畔ⅰ?br>
[0160]將各個(gè)角點(diǎn)按照拓?fù)湫畔⑦B接起來就構(gòu)成了各自分離的地塊圖形。
【權(quán)利要求】
1.一種快速三維成圖的方法,其特征在于,建立模型庫(kù),該模型庫(kù)中,以場(chǎng)景模型為建模的基本單元,所述方法還包括: 采集地形數(shù)據(jù),將地形數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù),根據(jù)幾何數(shù)據(jù)建立地塊圖形; 針對(duì)當(dāng)前場(chǎng)景對(duì)象,在所述模型庫(kù)中,查找與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型; 在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述采集地形數(shù)據(jù),將地形數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù),包括: 所述地形數(shù)據(jù)包括數(shù)據(jù)采集點(diǎn)的坐標(biāo)數(shù)據(jù); 將數(shù)據(jù)采集點(diǎn)的坐標(biāo)數(shù)據(jù)通過坐標(biāo)轉(zhuǎn)換矩陣轉(zhuǎn)換成當(dāng)前坐標(biāo)系下的局部坐標(biāo)數(shù)據(jù); 將局部坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成具有點(diǎn)、面數(shù)據(jù)結(jié)構(gòu)的幾何數(shù)據(jù); 和/或, 所述根據(jù)幾何數(shù)據(jù)建立地塊圖形,包括: 根據(jù)所述幾何數(shù)據(jù)構(gòu)建面結(jié)構(gòu)體,捕捉面結(jié)構(gòu)體的角點(diǎn)坐標(biāo)和拓?fù)湫畔ⅲ? 將各個(gè)角點(diǎn)按照拓?fù)湫畔⑦B接起來,構(gòu)成地塊圖形。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)幾何數(shù)據(jù)建立地塊圖形之后,進(jìn)一步包括: 遍歷地塊圖形的角點(diǎn)坐標(biāo),確定坐標(biāo)值的xmin,xmax,ymin,ymax ; 定義矢量地圖包圍盒為:
(xmin-C, ymin-C), (xmax+C, ymin-C), (xmax+C, ymax+C), (xmin_C, ymax+C) 四個(gè)點(diǎn)連接起來的矩形區(qū)域?yàn)槭噶康貓D包圍盒,其中,C為常數(shù),用于設(shè)定矢量地圖包圍盒區(qū)域生成范圍; 根據(jù)矢量地圖包圍盒構(gòu)建地面可視化圖形。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述模型庫(kù)進(jìn)一步包括: 根據(jù)多層組織與層間動(dòng)態(tài)映射關(guān)系組織各個(gè)場(chǎng)景模型; 所述根據(jù)多層組織與層間動(dòng)態(tài)映射關(guān)系組織各個(gè)場(chǎng)景模型包括: 預(yù)先設(shè)置所述模型庫(kù)包括模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理三個(gè)部分; 所述模型類別包括場(chǎng)景模型所屬的模型類別信息,每一個(gè)模型類別對(duì)應(yīng)一個(gè)以上的場(chǎng)景模型; 所述幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)包括模型庫(kù)中場(chǎng)景模型的網(wǎng)格信息; 所述細(xì)節(jié)紋理包括場(chǎng)景模型的表面細(xì)節(jié)紋理圖片信息; 將模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理分別存儲(chǔ)在不同表中,其中,模型類別作為表的一個(gè)字段,與幾何網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理通過動(dòng)態(tài)映射關(guān)系函數(shù)相連; 假設(shè)模型類別為A,動(dòng)態(tài)映射函數(shù)為f1; f2,…,fn,則 fi ((I1, ti) = A f2(d2,t2) = A
fn(dn,tn) = A 其中,屯,1 = 1,2,".η為場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)集合,ti; i = 1,2,…η為細(xì)節(jié)紋理集合,fi隨著屯,\的變化動(dòng)態(tài)變化。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述針對(duì)當(dāng)前場(chǎng)景對(duì)象,在所述模型庫(kù)中,查找與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型包括: 針對(duì)當(dāng)前所需的場(chǎng)景對(duì)象,在模型庫(kù)中確定對(duì)應(yīng)的模型類別; 在所確定的模型類別對(duì)應(yīng)的各個(gè)場(chǎng)景模型中,查找到與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景,包括: 當(dāng)檢測(cè)到三維場(chǎng)景中的第一場(chǎng)景對(duì)象和第二場(chǎng)景對(duì)象的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理相同或相似,位置、大小、方向不同時(shí),對(duì)已經(jīng)從模型庫(kù)中獲得的第一場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型存儲(chǔ)一次,在幀緩存中存儲(chǔ)該場(chǎng)景模型幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理信息,利用矩陣變換得到第二場(chǎng)景對(duì)象的場(chǎng)景模型。
7.一種快速三維成圖系統(tǒng),其特征在于,所述系統(tǒng)包括: 模型庫(kù)建立模塊,用于建立模型庫(kù); 數(shù)據(jù)采集模塊,用于采集地形數(shù)據(jù); 數(shù)據(jù)轉(zhuǎn)換模塊,用于將數(shù)據(jù)采集模塊采集的地形數(shù)據(jù)轉(zhuǎn)換成幾何數(shù)據(jù); 地塊圖形建立模塊,用于根據(jù)數(shù)據(jù)轉(zhuǎn)換模塊輸出的幾何數(shù)據(jù)建立地塊圖形; 第一查找模塊,用于針對(duì)當(dāng)前場(chǎng)景對(duì)象,在所述模型庫(kù)中,查找與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型; 三維場(chǎng)景構(gòu)建模塊,用于在地塊圖形上添加所查找到的場(chǎng)景模型,構(gòu)建三維場(chǎng)景。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 遍歷模塊,用于遍歷地形矢量圖中地塊圖形的角點(diǎn)坐標(biāo),確定坐標(biāo)值的xmin,Xfflax, Yfflin,Yrnin ? 地面可視化圖形構(gòu)建模塊,用于根據(jù)矢量地圖包圍盒構(gòu)建地面可視化圖形, 定義矢量地圖包圍盒為:
(xmin-C, ymin-C), (xmax+C, ymin-C), (xmax+C, ymax+C), (xmin_C, ymax+C) 四個(gè)點(diǎn)連接起來的矩形區(qū)域?yàn)槭噶康貓D包圍盒,其中,C為常數(shù),用于設(shè)定矢量地圖包圍盒區(qū)域生成范圍。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 場(chǎng)景模型組織模塊,用于根據(jù)多層組織與層間動(dòng)態(tài)映射關(guān)系組織各個(gè)場(chǎng)景模型; 所述根據(jù)多層組織與層間動(dòng)態(tài)映射關(guān)系組織各個(gè)場(chǎng)景模型包括: 預(yù)先設(shè)置所述模型庫(kù)包括模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理三個(gè)部分; 所述模型類別包括場(chǎng)景模型所屬的模型類別信息,每一個(gè)模型類別對(duì)應(yīng)一個(gè)以上的場(chǎng)景模型; 所述幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)包括模型庫(kù)中場(chǎng)景模型的網(wǎng)格信息; 所述細(xì)節(jié)紋理包括場(chǎng)景模型的表面細(xì)節(jié)紋理圖片信息; 將模型類別、幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理分別存儲(chǔ)在不同表中,其中,模型類別作為表的一個(gè)字段,與幾何網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理通過動(dòng)態(tài)映射關(guān)系函數(shù)相連; 假設(shè)模型類別為A,動(dòng)態(tài)映射函數(shù)為f1; f2,…,fn,則 fi ((I1, ti) = Af2(d2,t2) = A
fn(dn,tn) = A 其中,屯,1 = 1,2,".η為場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)集合,ti; i = 1,2,…η為細(xì)節(jié)紋理集合,fi隨著屯,\的變化動(dòng)態(tài)變化。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述第一查找模塊還包括: 確定模塊,用于針對(duì)當(dāng)前所需的場(chǎng)景對(duì)象,在模型庫(kù)中確定對(duì)應(yīng)的模型類別; 第二查找模塊,用于在確定模塊所確定的模型類別對(duì)應(yīng)的各個(gè)場(chǎng)景模型中,查找到與當(dāng)前場(chǎng)景對(duì)象對(duì)應(yīng)的場(chǎng)景模型。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 場(chǎng)景模型變換模塊,用于當(dāng)所述三維場(chǎng)景中的場(chǎng)景模型的幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)、細(xì)節(jié)紋理相同或相似,位置、大小、方向不同時(shí),對(duì)場(chǎng)景模型存儲(chǔ)一次,在幀緩存中存儲(chǔ)場(chǎng)景模型幾何網(wǎng)格拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)紋理信 息,利用矩陣變換得到結(jié)構(gòu)相同的場(chǎng)景模型。
【文檔編號(hào)】G06T17/05GK103440682SQ201310351439
【公開日】2013年12月11日 申請(qǐng)日期:2013年8月13日 優(yōu)先權(quán)日:2013年8月13日
【發(fā)明者】高榮華, 吳華瑞, 朱華吉, 孫想, 彭程, 繆祎晟 申請(qǐng)人:北京農(nóng)業(yè)信息技術(shù)研究中心