重復(fù)步驟(2)?步驟(7),直至所形成三維地形的所有局部精度符合預(yù)設(shè)的要求;
[0085](9)引入外部約束數(shù)據(jù),對(duì)步驟(8)中獲得的三維地形進(jìn)行修正,獲得最終的三維地形,每一點(diǎn)的修正具體由公式:
[0086]Height = hinXrandom[0, l/2n] XWin+hori X (1-random[0, l/2n]) Xffori
[0087]給出,其中,Height表示修正后的高程值,hin表示輸入數(shù)據(jù)中的高程值,Win表示外部輸入的權(quán)重,hOTi表示原始高程值,W OTi表示原始高程值的權(quán)重。
[0088]需要注意的是外部數(shù)據(jù)應(yīng)在前幾層地形生成時(shí)輸入,通過(guò)之后幾層分層可處理邊界接縫問(wèn)題。通過(guò)加入局部約束條件,引入固定形態(tài)數(shù)據(jù)可產(chǎn)生高度逼真的自然效果,該策略生成數(shù)據(jù)量大,可以根據(jù)要求生成整體高分辨率數(shù)據(jù),且滿足局部精度要求。
[0089]在實(shí)際軟件應(yīng)用中,使用AT算法,特殊標(biāo)定生成地形周?chē)c(diǎn)坐標(biāo)小于0,或大于i X 2,j X 2。該算法通過(guò)對(duì)坐標(biāo)的巧妙篩選,避免了對(duì)邊點(diǎn)及角點(diǎn)的繁復(fù)判斷。
[0090]根據(jù)本發(fā)明所生成的可更新中心點(diǎn)的三維地形如圖9所示,其避免了尖刺的生成,地形更為自然逼真。
[0091]根據(jù)本發(fā)明所生成的具有中心約束的三維地形如圖10所示,其中心地形精度高于周?chē)匦尉取?br>[0092]根據(jù)本發(fā)明所生成的局部地形添加紋理后的效果如圖11所示,其效果逼真自然。
[0093]本發(fā)明提出的一種局部精度約束的三維地形生成方法不僅具備對(duì)局部地形精度進(jìn)行二次處理的能力,而且具有輸出數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單和數(shù)據(jù)接口配置靈活等特點(diǎn),同時(shí)對(duì)計(jì)算機(jī)硬件依賴較小,能夠在普通計(jì)算機(jī)上實(shí)現(xiàn)大面積地形的高精度生成,在對(duì)地形精度要求較高的仿真場(chǎng)景、定制場(chǎng)景及較大規(guī)模的地形實(shí)時(shí)仿真場(chǎng)景等方面具有較強(qiáng)的實(shí)用性。與現(xiàn)有的3D MAX、VUE和VTB等三維地形生成商用建模軟件相比,本發(fā)明明顯提高了三維地形的整體精度,同時(shí)具備對(duì)局部地形的精度進(jìn)行二次處理的能力,在火箭發(fā)射、月表工作和近地面工作等可視化仿真系統(tǒng)三維地形開(kāi)發(fā)方面具有廣闊的推廣應(yīng)用前景。
【主權(quán)項(xiàng)】
1.一種局部精度約束的三維地形生成方法,其特征在于步驟如下: (1)根據(jù)預(yù)先給定地形點(diǎn)的個(gè)數(shù)創(chuàng)建數(shù)據(jù)存儲(chǔ)網(wǎng)格模型,將預(yù)先給定地形點(diǎn)的高程數(shù)據(jù)和該數(shù)據(jù)在數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行列數(shù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中;所述預(yù)先給定地形點(diǎn)為待生成三維地形的邊點(diǎn)和中心點(diǎn),且相鄰預(yù)先給定地形點(diǎn)的連線構(gòu)成矩形網(wǎng)格; (2)將當(dāng)前地形點(diǎn)在當(dāng)前數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行列數(shù)更新為當(dāng)前地形點(diǎn)在一次三維地形細(xì)分后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行列數(shù); (3)利用矩形網(wǎng)格中最小網(wǎng)格單元的四個(gè)頂點(diǎn)高程數(shù)據(jù)求得每個(gè)最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù),更新數(shù)據(jù)存儲(chǔ)網(wǎng)格模型,并將求得的每個(gè)最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù)和該數(shù)據(jù)在更新后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行列數(shù)存儲(chǔ)在更新后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中; 所述利用矩形網(wǎng)格中最小網(wǎng)格單元的四個(gè)頂點(diǎn)高程數(shù)據(jù)求得每個(gè)最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù),具體由公式:E = (A+B+C+D)/4+random(-dHeight/2, dHeight/2) 給出,其中,A, B, C,D分別表示最小網(wǎng)格單元的四個(gè)頂點(diǎn)高程數(shù)據(jù),E表示最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù),dHeight表示最小網(wǎng)格單元的四個(gè)頂點(diǎn)中某一個(gè)頂點(diǎn)的高程數(shù)據(jù); (4)以最小網(wǎng)格單元的頂點(diǎn)和中心點(diǎn)為菱形的頂點(diǎn),以最小網(wǎng)格單元邊線的中心點(diǎn)為菱形的中心構(gòu)建菱形,并利用菱形各頂點(diǎn)的數(shù)據(jù)計(jì)算每個(gè)最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù),并將求得的每個(gè)最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù)和該數(shù)據(jù)在更新后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行列數(shù)存儲(chǔ)在更新后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中; (5)利用最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù)更新每個(gè)最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù),將求得的每個(gè)最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù)和該數(shù)據(jù)在更新后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行列數(shù)存儲(chǔ)在更新后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中,完成一次三維地形細(xì)分; (6)重復(fù)步驟(3)?步驟(5),直到三維地形整體精度達(dá)到要求; (7)選取目標(biāo)區(qū)域,并將目標(biāo)區(qū)域內(nèi)步驟⑴預(yù)先給定的地形點(diǎn)和步驟⑶?步驟(6)求得的最小網(wǎng)格單元邊線中心點(diǎn)以及最小網(wǎng)格單元中心點(diǎn)中相鄰的點(diǎn)連接,構(gòu)成新的矩形網(wǎng)格,代替步驟(I)中的矩形網(wǎng)格,將dHeight變?yōu)樵瓟?shù)值的1/(21%重復(fù)步驟(2)?步驟(5),直至所選取的三維地形局部精度符合預(yù)設(shè)的要求;所述r為凹凸度常數(shù); (8)重復(fù)步驟(2)?步驟(7),直至所形成三維地形的所有局部精度符合預(yù)設(shè)的要求; (9)引入外部約束數(shù)據(jù),對(duì)步驟(8)中獲得的三維地形進(jìn)行修正,獲得最終的三維地形。
2.根據(jù)權(quán)利要求1中所述的一種局部精度約束的三維地形生成方法,其特征在于:所述步驟(4)中利用菱形各頂點(diǎn)的數(shù)據(jù)計(jì)算每個(gè)最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù),具體為: 若最小網(wǎng)格單元邊線中心點(diǎn)位于步驟(I)中矩形網(wǎng)格的邊線上,則最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù)由公式:H = (B+D+2E)/4+random(-dHeight/2, +dHeight/2) 給出,其中,H表示最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù),B,D分別表示構(gòu)建菱形的各頂點(diǎn)中兩個(gè)最小網(wǎng)格單元頂點(diǎn)的高程值,若預(yù)先設(shè)定的三維地形邊界不為水平面,則E為最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù),否則,E = O ;dHeight表示最小網(wǎng)格單元的四個(gè)頂點(diǎn)中某一個(gè)頂點(diǎn)的高程數(shù)據(jù); 否則,最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù)由公式:Q = (E+F+J+K)/4+random(-dHeight/2, dHeight/2) 給出,其中,Q表示最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù),E,F(xiàn)分別表示構(gòu)建菱形的各頂點(diǎn)中兩個(gè)最小網(wǎng)格單元頂點(diǎn)的高程值,J和K分別構(gòu)建菱形的各頂點(diǎn)中兩個(gè)為最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù)。
3.根據(jù)權(quán)利要求1中所述的一種局部精度約束的三維地形生成方法,其特征在于:所述步驟(5)中利用最小網(wǎng)格單元邊線中心點(diǎn)的高程數(shù)據(jù)更新每個(gè)最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù),具體由:E = (F+G+H+I)/4+random(-dHeight/2, dHeight/2) 給出,其中,E為最小網(wǎng)格單元的中心點(diǎn)高程數(shù)據(jù),F(xiàn),G,H,I分別表示最小網(wǎng)格單元四個(gè)邊線中心點(diǎn)的高程數(shù)據(jù),dHeight表示最小網(wǎng)格單元的四個(gè)頂點(diǎn)中某一個(gè)頂點(diǎn)的高程數(shù)據(jù)。
4.根據(jù)權(quán)利要求1中所述的一種局部精度約束的三維地形生成方法,其特征在于:所述步驟(8)中引入外部約束數(shù)據(jù),對(duì)步驟(7)中獲得的三維地形進(jìn)行修正,獲得最終的三維地形,每一點(diǎn)的修正具體由公式:Height = hinX random [O, l/2n] X Win+hori X (1-random [0, l/2n]) Xffori 給出,其中,Height表示修正后的高程值,hin表示輸入數(shù)據(jù)中的高程值,Win表示外部輸入的權(quán)重,hOTi表示原始高程值,W OTi表示原始高程值的權(quán)重。
5.根據(jù)權(quán)利要求1中所述的一種局部精度約束的三維地形生成方法,其特征在于:所述數(shù)據(jù)存儲(chǔ)網(wǎng)格模型采用鏈表結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)。
6.根據(jù)權(quán)利要求1中所述的一種局部精度約束的三維地形生成方法,其特征在于:所述步驟(2)中將當(dāng)前地形點(diǎn)在當(dāng)前數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行列數(shù)更新為當(dāng)前地形點(diǎn)在一次三維地形細(xì)分后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行列數(shù),具體由公式:ri+1 (li+1) = A(Ii) X 2-1 給出,其中,1^表示當(dāng)前地形點(diǎn)在當(dāng)前數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行數(shù),I i表示當(dāng)前地形點(diǎn)在當(dāng)前數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的列數(shù),ri+1表示當(dāng)前地形點(diǎn)在一次三維地形細(xì)分后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的行數(shù),li+1表示當(dāng)前地形點(diǎn)在一次三維地形細(xì)分后的數(shù)據(jù)存儲(chǔ)網(wǎng)格模型中所處的列數(shù)。
【專利摘要】一種局部精度約束的三維地形生成方法,該方法通過(guò)對(duì)菱形正方形算法的優(yōu)化,實(shí)現(xiàn)子級(jí)約束控制,使生成地形形態(tài)更接近自然形態(tài)。通過(guò)局部約束條件,引入固定形態(tài)數(shù)據(jù)產(chǎn)生高度逼真的自然效果,并通過(guò)提取中間部分網(wǎng)格,進(jìn)行中心約束,極大提高地形精度。本發(fā)明生成數(shù)據(jù)量大,可以根據(jù)要求生成整體高分辨率數(shù)據(jù),且滿足局部精度要求。在存儲(chǔ)時(shí)通過(guò)使用較為復(fù)雜的鏈表結(jié)構(gòu)存儲(chǔ)數(shù)據(jù)點(diǎn),降低了物理內(nèi)存大區(qū)域連續(xù)分配的問(wèn)題。本發(fā)明解決了三維地形生成方法的地形整體精度受限和局部地形精度無(wú)法修改的不足,在火箭發(fā)射、月表工作和近地面工作等可視化仿真系統(tǒng)三維地形開(kāi)發(fā)方面具有廣闊的推廣應(yīng)用前景。
【IPC分類】G06T17-05
【公開(kāi)號(hào)】CN104851131
【申請(qǐng)?zhí)枴緾N201510259693
【發(fā)明人】徐希悅, 賈永, 唐強(qiáng), 張南峰, 石磊
【申請(qǐng)人】北京控制工程研究所
【公開(kāi)日】2015年8月19日
【申請(qǐng)日】2015年5月20日