專利名稱:一種基于二維矩陣的三維地形圖像生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種三微地形圖像生成方法,尤其涉及一種基于二維矩陣的三維地形圖像生成方法,屬于計算機仿真技術(shù)領(lǐng)域。
背景技術(shù):
近年來,關(guān)于三維地形建模的軟件比較多,建模方法也多種多樣,一部分是利用衛(wèi)星高度圖恢復(fù)出原始的三維地形,一部分是根據(jù)開發(fā)者的意圖創(chuàng)建出三維地形,本發(fā)明屬
于第二種。當(dāng)前制作地形的方法大多數(shù)是在3D模型軟件中通過手動調(diào)節(jié)完成的。如在 Discreet的3D Studio Max或者Alias Wavefront的Maya等軟件中,首先制作一張大的平坦網(wǎng)絡(luò)并使用造型工具把這個平面扭曲成大致的山體和山谷,然后再不斷潤色不同的區(qū)域。容易使開發(fā)者的時間和精力更多地花費在越來越小的細(xì)節(jié)上,需要對制作地形的多邊形非常的熟悉,不斷地選擇切掉哪些多邊形,簡化哪些多邊形和保持哪些多邊形,并對具體小塊地形多邊形進(jìn)行潤色增強逼真,直到達(dá)到滿意效果為止。這種方法可以達(dá)到非?,F(xiàn)實的效果,達(dá)到最佳的細(xì)節(jié)水準(zhǔn),也比較容易對所做的地形進(jìn)行比較小的修改。但是,這種地形建模方法有不可避免的三大缺點首先,很難對三維地形模型進(jìn)行比較大的改動;其次, 制作大地形的過程將花費大量的時間和精力;最后,大型逼真的三維地形模型包含了大量的地形多邊形,影響在系統(tǒng)仿真中的實時性。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)的不足,提供一種基于二維矩陣的三維地形圖像生成方法。本發(fā)明采用以下技術(shù)方案解決上述技術(shù)問題
一種基于二維矩陣的三維地形圖像生成方法,包括以下步驟
步驟1、創(chuàng)建反映所要創(chuàng)建地形特點的二維矩陣;
步驟2、將二維矩陣轉(zhuǎn)換為灰度圖像;
步驟3、將灰度圖轉(zhuǎn)化為DED地形高程數(shù)據(jù)文件;
步驟4、根據(jù)DED地形高程數(shù)據(jù)文件生成三維地形模型;
步驟5、對生成的三維地形模型進(jìn)行視景仿真。為了更方便地進(jìn)行灰度圖像轉(zhuǎn)換,優(yōu)選地,所述二維矩陣的大小為512*512,二維矩陣中元素的取值范圍為W,l]。優(yōu)選地,所述步驟1和步驟2利用Matlab軟件實現(xiàn)。優(yōu)選地,所述步驟3和步驟4利用MultiGen Creator軟件實現(xiàn)。優(yōu)選地,所述步驟5利用MAK視景仿真平臺實現(xiàn)。相比現(xiàn)有技術(shù),本發(fā)明具有以下有益效果
首先,本發(fā)明使用MATLAB軟件創(chuàng)建具有地形特性的二維矩陣,由于MATLAB軟件具有強大的矩陣運算功能,所以不需要自己填寫矩陣中的每個值,大大提高了二維矩陣的生成速度。其次,本發(fā)明使用MultiGen Creator軟件生成三維地形,由于MultiGen Creator 軟件提供了多種格式的地形文件生成器、超大規(guī)模的地形數(shù)據(jù)庫和復(fù)雜的拓?fù)浣Y(jié)構(gòu)等,所以可以提高三維地形模型的逼真性和實時性。最后,地形原始文件即二維矩陣,完全自我創(chuàng)建,更能滿足不同仿真情況下的需要,提高了三維地形模型的可塑性和靈活性。
圖1為本發(fā)明三維地形圖像生成方法的流程圖2為本發(fā)明實施例中二維矩陣a[512,512]生成的灰度圖; 圖3為本發(fā)明實施例中得到的三維地形圖像。
具體實施例方式下面結(jié)合附圖對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明
由于MATLAB軟件具有強大的矩陣運算功能,所以本發(fā)明使用MATLAB軟件生成具有地形特性的二維矩陣,不需要自己填寫矩陣中的每個值,大大提高了二維矩陣的生成速度。由于MultiGen Creator軟件提供了多種格式的地形文件生成器、超大規(guī)模的地形數(shù)據(jù)庫和復(fù)雜的拓?fù)浣Y(jié)構(gòu)等,所以本發(fā)明中利用MultiGen Creator軟件生成三維地形模型,可以提高模型的逼真性和實時性。為檢驗三維地形模型在仿真平臺下的仿真效果,本發(fā)明將創(chuàng)建出的三維地形模型導(dǎo)入到MAK視景仿真平臺下,檢驗效果。下面通過具體實例進(jìn)行詳細(xì)說明。參照圖1,是本發(fā)明進(jìn)行三維地形創(chuàng)建的流程圖。(1)在Matlab中創(chuàng)建二維矩陣
創(chuàng)建地形特性的二維矩陣是本發(fā)明中最關(guān)鍵的一步。在Matlab軟件中首先創(chuàng)建一個 n*m的二維矩陣,η和m的大小影響著創(chuàng)建三維地形的大小和逼真度,η和m的數(shù)值太小很難創(chuàng)建大型三維地形,否則失真度很大,η和m的數(shù)值太大,創(chuàng)建二維矩陣的工作量將大大增加,所以要恰當(dāng)?shù)剡x擇η和m的大小;二維矩陣中數(shù)值的大小范圍為W-1],數(shù)值具體的大小及在矩陣中的位置,直接關(guān)系著三維地形的地貌特性。二維矩陣是創(chuàng)建三維地形模型的原始數(shù)據(jù)源,其中的數(shù)值直接決定著所創(chuàng)建的地形,所以要謹(jǐn)慎創(chuàng)建二維矩陣。首先創(chuàng)建二維矩陣b[512,512],其中數(shù)值的大小范圍為W-255],然后將二維矩陣b[512,512]整體除以255,得到其中元素數(shù)值大小范圍都在之間的二維矩陣 a[512,512]。選擇512*512的二維矩陣,是因為這個大小的二維矩陣所生成的灰度圖的大小能夠滿足所要創(chuàng)建地形的大小和逼真度。首先創(chuàng)建數(shù)值大小范圍為
的二維矩陣 b[512,512],是主要考慮到由二維矩陣生成灰度圖時,像素值是由0-255之間的數(shù)值表示的。(2)在Matlab中將二維矩陣轉(zhuǎn)化為灰度圖
在Matlab中利用圖像顯示函數(shù)imtool,將二維矩陣a[512,512]以灰度圖的方式顯示出來,如圖2所示。將該灰度圖截取并以JPG的格式保存下來。選擇以JPG格式保存,是因為JPG格式的圖片是具有高壓縮比的,文件格式很小,不會影響之后灰度圖轉(zhuǎn)化為DED格式高程數(shù)據(jù)和最終生成三維地形的轉(zhuǎn)化生成速度。(3)在MultiGen Creator中將灰度圖轉(zhuǎn)化為DED地形高程數(shù)據(jù)文件
運行Creator軟件的DED Builder工具,在脫機轉(zhuǎn)換器中選擇圖片文件格式的地形數(shù)據(jù)源項,導(dǎo)入剛生成的JPG格式的灰度片,在原始數(shù)據(jù)單位框架中,設(shè)置地形數(shù)據(jù)單位,一般將單位設(shè)為Meters;在海拔高度范圍框架中,設(shè)置所要創(chuàng)建三維地形的最高值和最低值;在地理范圍框架中,設(shè)置所要創(chuàng)建三維地形的大小。在導(dǎo)入灰度圖片生成DED格式地形文件中,我們會發(fā)現(xiàn)生成的地形預(yù)覽與灰度圖存在一定的偏差,主要體現(xiàn)在地形預(yù)覽最左邊的一列,這將導(dǎo)致生成三維地形的最左邊一列發(fā)生嚴(yán)重失真,但其他部分基本不存在失真效果,對整體的無人機視景仿真影響不大。(4)在MultiGen Creator中生成三維地形模型
在Creator中選擇新建一個地形工程,導(dǎo)入剛轉(zhuǎn)化成的DED格式的地形數(shù)據(jù)文件,在 Project面板中設(shè)置DED文件、控制參數(shù)文件、特征參數(shù)文件等屬性文件。在Map面板中選擇數(shù)據(jù)庫的長度單位、經(jīng)緯度坐標(biāo),投影方式選擇Flat Earth方式。在Triangle中選擇 Delaunay地形轉(zhuǎn)換算法。在Texture面板中設(shè)置地形紋理。本地形的面積相對總的來說還是小地形,所以不需要設(shè)置Batch面板參數(shù),Batch讀入面板主要用來設(shè)置批處理,所謂批處理就是將一整塊地形分割成許多塊小的地形,在運行時根據(jù)需要加載顯示哪一塊的地形。等高線是地圖上連接具有相同高度點的線。一條等高線表示一個高度范圍。在地形窗口左邊的等高線屬性控制面板中對地形等高線的屬性進(jìn)行設(shè)置。在等高線屬性控制面板中設(shè)置等高線的表面顏色、材質(zhì)、紋理,并且根據(jù)實際的需要改變等高線。LOD設(shè)置控制顯示不同復(fù)雜度的地形。最高級的LOD顯示距離視點最近的地形,其包括最多數(shù)量的修飾多邊形。較低級的LOD顯示用較少的多邊形修飾的地形。在Creator 地形窗口中可以很方便地為地形數(shù)據(jù)添加L0D。到此,F(xiàn)LT格式的三維地形模型創(chuàng)建完成,通過Creator窗口可以觀察地形創(chuàng)建效果。(5)將模型添加到MAK仿真平臺,并進(jìn)行參數(shù)設(shè)置。當(dāng)仿真運行時,三維地形模型是在MAK視景仿真平臺中的Stealth軟件上呈現(xiàn)出來的,因此,添加模型和設(shè)置參數(shù)也是在Mealth軟件下進(jìn)行的。在Mealth軟件的模型數(shù)據(jù)庫之中,在stealth5. 2a\config目錄下創(chuàng)建MLT格式的地形參數(shù)文件,在參數(shù)文件中,需要設(shè)定三維地形的文件名稱、存放路徑、地形數(shù)據(jù)庫原點的經(jīng)緯度、地理坐標(biāo)系統(tǒng)等,按照參數(shù)文件的內(nèi)容,將創(chuàng)建的三維地形模型存放到Stealth軟件的地形數(shù)據(jù)庫中,即以文件夾的方式存放到\stealth5. 2a\data\terrain目錄下。( 6 )檢測三維地形視景仿真效果
在health軟件中加載創(chuàng)建的三維地形模型,運行MAK視景仿真平臺,添加無人機飛行任務(wù),跟隨飛行中無人機的視角,不斷觀察地形,如圖3所示。當(dāng)遇到地形失真度大時,則退出仿真平臺在Creator中修改地形模型,經(jīng)過不斷的測試,直到得到能滿足視景仿真的地形模型。經(jīng)過仿真測試,三維地形能夠在MAK仿真平臺下正常顯示,并且采用了 LOD技術(shù), 仿真的實時性大大增加,符合本發(fā)明設(shè)計的要求。
權(quán)利要求
1.一種基于二維矩陣的三維地形圖像生成方法,其特征在于,包括以下步驟 步驟1、創(chuàng)建反映所要創(chuàng)建地形特點的二維矩陣;步驟2、將二維矩陣轉(zhuǎn)換為灰度圖像; 步驟3、將灰度圖轉(zhuǎn)化為DED地形高程數(shù)據(jù)文件; 步驟4、根據(jù)DED地形高程數(shù)據(jù)文件生成三維地形模型; 步驟5、對生成的三維地形模型進(jìn)行視景仿真。
2.如權(quán)利要求1所述基于二維矩陣的三維地形圖像生成方法,其特征在于,所述二維矩陣的大小為512*512,二維矩陣中元素的取值范圍為W,1]。
3.如權(quán)利要求1或2所述基于二維矩陣的三維地形圖像生成方法,其特征在于,所述步驟1和步驟2利用Matlab軟件實現(xiàn)。
4.如權(quán)利要求1或2所述基于二維矩陣的三維地形圖像生成方法,其特征在于,所述步驟3和步驟4利用MultiGen Creator軟件實現(xiàn)。
5.如權(quán)利要求1或2所述基于二維矩陣的三維地形圖像生成方法,其特征在于,所述步驟5利用MAK視景仿真平臺實現(xiàn)。
全文摘要
本發(fā)明公開了一種基于二維矩陣的三維地形圖像生成方法,屬于計算機仿真技術(shù)領(lǐng)域。本發(fā)明方法包括創(chuàng)建反映所要創(chuàng)建地形特點的二維矩陣;將二維矩陣轉(zhuǎn)換為灰度圖像;將灰度圖轉(zhuǎn)化為DED地形高程數(shù)據(jù)文件;根據(jù)DED地形高程數(shù)據(jù)文件生成三維地形模型;對生成的三維地形模型進(jìn)行視景仿真。相比現(xiàn)有技術(shù),本發(fā)明具有逼真性和實時性好,可塑性和靈活性高的優(yōu)點。
文檔編號G06T17/05GK102568033SQ20111042327
公開日2012年7月11日 申請日期2011年12月16日 優(yōu)先權(quán)日2011年12月16日
發(fā)明者姚敏, 姜肖英, 朱艷萍, 李可現(xiàn), 羅沛文, 趙敏 申請人:南京航空航天大學(xué)