基于GIS三維可視化仿真技術(shù)的虛擬戰(zhàn)場地形研究
摘要 論文首先討論了GIS的概念及相關(guān)技術(shù),重點(diǎn)討論了基于GIS三維可視化仿真技術(shù)的虛擬戰(zhàn)場地形的關(guān)鍵技術(shù)和實(shí)現(xiàn)過程。包括:基于GIS實(shí)現(xiàn)的原理,虛擬戰(zhàn)場地形的建模,可視化的操作和。并結(jié)合實(shí)例進(jìn)行了說明。實(shí)驗(yàn)結(jié)果表明用該開發(fā)的虛擬戰(zhàn)場三維地形環(huán)境仿真系統(tǒng)具有良好的用戶界面和形象逼真地動態(tài)地形顯示效果。關(guān)鍵詞 GIS技術(shù) 三維可視化 數(shù)字模型 虛擬戰(zhàn)場地形
0 引言
近年來,隨著GIS和虛擬現(xiàn)實(shí)(VR)技術(shù)的,軍事演習(xí)和指揮決策在概念上有了新的飛躍,通過建立虛擬作戰(zhàn)實(shí)驗(yàn)室來進(jìn)行軍事訓(xùn)練和。利用基于GIS三維動態(tài)可視化仿真技術(shù),場景建模技術(shù)和圖形圖象處理技術(shù),開發(fā)出關(guān)于某一特定的戰(zhàn)場地形區(qū)域的真實(shí)全面的虛擬戰(zhàn)場地形環(huán)境系統(tǒng),使指揮人員有身臨其境的體驗(yàn)。
1 GIS及其可視化原理
1.1 GIS簡介
地理信息系統(tǒng)(GIS)是一門地學(xué)空間數(shù)據(jù)與機(jī)技術(shù)相結(jié)合的新型空間信息技術(shù)。它以空間數(shù)據(jù)庫為基礎(chǔ),在計(jì)算機(jī)軟硬件的支持下,對空間數(shù)據(jù)進(jìn)行采集,管理,操作,分析和顯示,并采用地理模型分析法,適時(shí)提供多種空間和動態(tài)地理信息的計(jì)算機(jī)系統(tǒng)。近幾年來把GIS技術(shù)用到軍事上的戰(zhàn)場地形的研究已經(jīng)取得了不少的進(jìn)步。
1.2 基于GIS的圖形表達(dá)
GIS中的圖形以矢量表示和存儲的。圖形的實(shí)質(zhì)就是空間點(diǎn)在三維平面的投影,可以分解為:點(diǎn),線,面,體等幾種不同的圖形元素。因?yàn)槭噶炕瘓D形的各個(gè)部分可以用數(shù)學(xué)的方法加以描述,可以對其進(jìn)行任意的變換,放大,縮小,旋轉(zhuǎn),變形,移位,疊加等,并保持圖形的空間拓?fù)潢P(guān)系不變。而且矢量圖形的基本組成是點(diǎn),線,面,體,可以進(jìn)行單獨(dú)定義,控制,操作,分析,查詢圖形對象的空間信息及其相關(guān)的屬性信息。
1.3 基于GIS的戰(zhàn)場地形信息的組織
GIS將空間實(shí)體對象用空間數(shù)據(jù)和屬性來共同描述并分別存儲。前者描述實(shí)體的數(shù)據(jù)和拓?fù)潢P(guān)系等,后者描述實(shí)體的屬性和兩者的關(guān)聯(lián)標(biāo)識,空間數(shù)據(jù)和屬性數(shù)據(jù)通過內(nèi)部代碼和用戶標(biāo)識碼作為公共數(shù)據(jù)項(xiàng)連接起來,使得空間對象的每個(gè)圖元與描述圖元的屬性一一對應(yīng)起來(如圖1)。利用GIS特有的混合空間數(shù)據(jù)組織形式為反映戰(zhàn)爭中復(fù)雜的地形環(huán)境提供了條件。戰(zhàn)場數(shù)字建模是把客觀存在的戰(zhàn)場地形環(huán)境實(shí)體在計(jì)算機(jī)中用真實(shí)的空間位置來表示,實(shí)現(xiàn)了地形空間實(shí)體與屬性數(shù)據(jù)一一對應(yīng)(如圖2)。
2 三維虛擬戰(zhàn)場地形的可視化數(shù)字建模
2.1 DEM地形數(shù)據(jù)的組織和表達(dá)
地表數(shù)字地形模型(Digital Terrain model,即DTM)是虛擬戰(zhàn)場地形模型的重要組成部分。三維地形數(shù)據(jù)結(jié)構(gòu)是構(gòu)造虛擬戰(zhàn)場地形環(huán)境的基礎(chǔ),關(guān)鍵技術(shù)是DEM(數(shù)字高程模型)的表達(dá)。對DEM數(shù)據(jù)的組織較多的用不規(guī)則三角網(wǎng)(Triangulated Irregular Network,即TIN)模型或規(guī)則網(wǎng)格(GRID)模型(如圖3)。TIN模型是由分散的地形點(diǎn)按照一定的規(guī)則構(gòu)成的一系列不相交的三角形網(wǎng)組成,所表示的地形表面的真實(shí)程度由地形點(diǎn)的密度決定,并能充分表現(xiàn)高程細(xì)節(jié)的變化,適合于地形復(fù)雜的地區(qū)。TIN可以利用原始高程點(diǎn)重建地形表面,地形平坦的地方多邊形較少;復(fù)雜的地區(qū)多邊形較多,對地形的描述具有很好的合理性。GRID模型具有較小的存貯量和簡單的數(shù)據(jù)結(jié)構(gòu)。
對復(fù)雜的戰(zhàn)場地形的建立一般用TIN。TIN的存貯采用文件集的形式,每個(gè)文件存貯網(wǎng)格的節(jié)點(diǎn)坐標(biāo),高程坐標(biāo),節(jié)點(diǎn)號,空間索引標(biāo)識,邊界,渲染和文件指針等信息。建立地形實(shí)體DTM一般由地形等高線原始數(shù)據(jù)按一定的算法生成TIN。算法包括Delaunay三角形的分治算法,點(diǎn)插入法和三角網(wǎng)生長法。這些算法都遵循以下原則:
a)TIN的唯一性。
b)使每個(gè)三角形盡最大可能接近等邊三角形。
c)三角形的邊長總和最小。
對初始的TIN,應(yīng)消除由于等高線數(shù)據(jù)過于密集或采集信息缺少而形成的細(xì)小的,狹長的三角形,來提高TIN的精度。
根據(jù)GIS地形信息組織的基本原理,對TIN的數(shù)據(jù)結(jié)構(gòu)的組織,采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,以Visual C++6.0 為開發(fā)語言,設(shè)計(jì)了CTinLine三個(gè)點(diǎn)的主要成員。
1. 測量點(diǎn)類:
Class CsurveyPoint: Public CObject
{.............
Float x, y, z; //點(diǎn)x ,y ,z的三維坐標(biāo),由數(shù)字勘測系統(tǒng)外業(yè)獲取
Int SvyPtID //點(diǎn)的ID號隱含屬性信息
CsurvyPoint *Next; //單向鏈表,用于數(shù)據(jù)管理
..........操作函數(shù).......
}
2. 三角形邊類
Class CtinLine: Public CObject
{.............
CsurvyPoint *P1, *P2; //指向三角形的兩端點(diǎn)
int TinLineID; //三角形邊的ID號
int left , right; //三角形的左右三角形號
CtinLine *Next; //指向下一個(gè)節(jié)點(diǎn)索引的指針,形成單向鏈表
................
}
3. 三角形CTIN類
Class CTin: Public CObject;
{.............
CsuryPoint *P1, *P2, *P3;
或CtinLine *TL1, *TL2, *TL3; //三角形三個(gè)點(diǎn)或三條邊的指針
int Tr1, Tr2, Tr3; //三角形三個(gè)相鄰的三角形的索引值
Ctin *Next //下一個(gè)三角形的索引,形成單向鏈表
..............
}
所開發(fā)三維地形仿真成圖系統(tǒng)建立的不同的TIN數(shù)目的地形平面模型圖(含高程值)如圖4 圖5所示。
2.2 地形實(shí)體的數(shù)字建模
用GIS的空間數(shù)據(jù)組織結(jié)構(gòu)實(shí)現(xiàn)地形環(huán)境實(shí)體的數(shù)字建模。按照地形對象的屬性,可以將地形對象分為點(diǎn),線,面,體四類數(shù)據(jù)結(jié)構(gòu)來表達(dá)。
下面給出某山體地形環(huán)境的存貯結(jié)構(gòu):
Struct HillPart {
int Part_ID; //山體局部標(biāo)識
char Part_Code; //山體局部編號
Struct Body *BodyList; //山體局部數(shù)組
Attributes_List //山體局部屬性列表
}
Struct Body {
int Body_ID; //體標(biāo)識
int Part_ID; //包含該體的山體局部標(biāo)號
char Patt_Code; //山體局部編號
int Body_Type; //體構(gòu)造類型
Struct Mesh *MeshList; //構(gòu)成體的面數(shù)組
Attributes_List; } //體屬性列表
Sruct Mesh {
int Mesh_ID; //面標(biāo)識
int Body_ID; //包含該面的體標(biāo)識
char Part_Code; //山體局部編號
int Mesh_Type; //面構(gòu)造類型
Srucut Line *LineList; //構(gòu)成面的線數(shù)組
Attributes_List; //面屬性列表
}
Struct Line {
int Line_ID; //線標(biāo)識號
int Mesh_ID; //包含該線的面標(biāo)識
char Part_Code; //山體局部編號
char Line_Type; //線構(gòu)造類型
Struct Point *PointList; //構(gòu)成線的點(diǎn)的有向數(shù)組
AttributesList; //線屬性列表
}
Srtuct Point {
int Point_ID; //點(diǎn)標(biāo)識號
int Line_ID; //包含該點(diǎn)的線標(biāo)識
char Part_Code; //山體局部編號
double x; //x, y, z
double y; // 坐標(biāo)
double z;
AttributesList //點(diǎn)屬性列表
}
3 三維數(shù)字地形模型的可視化操作與
3.1 三維數(shù)字地形的動態(tài)顯示
為了達(dá)到逼真的顯示效果,在三維幾何模型上疊加實(shí)物影象數(shù)據(jù)。地形的紋理的構(gòu)造可由TIN模型中的三角形與山體的正射影象圖的掃描坐標(biāo)匹配,從而取得三角形內(nèi)影象的恢度值或RGB值,然后把數(shù)據(jù)疊加到TIN模型上,由此得到真實(shí)光照和表面紋理的'顯示效果。為了提高三維地形模型的顯示速度和效果,以及為了降低紋理貼圖時(shí),數(shù)據(jù)的量,使用視點(diǎn)相關(guān)的動態(tài)多分辨率紋理模型(View-dependent and Multi-resolution Texture Model)。距離觀察者遠(yuǎn)近不同的區(qū)域其紋理分辨率不同,即影射的距離觀察者較遠(yuǎn)的區(qū)域,其紋理具有較低的分辨率,相反具有較高的分辨率,這也符合視覺原理。(具體算法可參照[4])
觀察者遠(yuǎn)距離(在高空中)觀察看到的是粗略的地形;近距離觀察的是細(xì)微的地形。在虛擬的戰(zhàn)場地形環(huán)境中要表現(xiàn)這一特點(diǎn),實(shí)現(xiàn)地形的動態(tài)地近乎人性化的顯示用了一種叫做視相關(guān)的實(shí)時(shí)Lod地形模型的多分辨率顯示技術(shù)(View-dependent and real-time LoD model of Multi-resolution terrain Rendering)。
在距離視點(diǎn)較近時(shí)用較多的多邊形描述;較遠(yuǎn)時(shí)用較少的多邊形描述。可以平衡圖形負(fù)載,符合場景的真實(shí)地表現(xiàn)的特點(diǎn)。(該技術(shù)的詳細(xì)介紹可參閱文獻(xiàn)[5])
3.2 可視化的三維數(shù)字地形查詢
實(shí)現(xiàn)查詢的前提是數(shù)字模型的空間數(shù)據(jù)與屬性數(shù)據(jù)的一一對應(yīng)。是二維屏幕顯示的點(diǎn)和三維模型的實(shí)際點(diǎn)不是一一對應(yīng)的。這就必須用機(jī)圖形學(xué)的知識進(jìn)行二維到三維的轉(zhuǎn)化。若屏幕捕獲到的點(diǎn)對應(yīng)著地形點(diǎn)的坐標(biāo),到對應(yīng)的真實(shí)三維坐標(biāo)。 即
(其中為三維到二維投影的變換矩陣)。若鼠標(biāo)捕捉到對應(yīng)的屬性信息為山體的ID號。則由以下語句可實(shí)現(xiàn)山體屬性的查詢。
Select ( *, * , from datebase , where ID="***")
這樣就實(shí)現(xiàn)了數(shù)字地形的空間圖到屬性的查詢。
3.3 三維空間地形數(shù)據(jù)的分析
主要給出地形剖面繪制及空間距離量測的。由鼠標(biāo)在顯示的三維數(shù)字地形DTM上任取兩點(diǎn)由可視點(diǎn)判別法得到對應(yīng)的實(shí)際的地形的三維坐標(biāo),。 根據(jù)它們的平面位置和TIN模型存貯的數(shù)據(jù)結(jié)構(gòu)和所在的TIN模型的三角形編號,由起點(diǎn)和終點(diǎn)的三角形位置和連線,可以得到與該連線相交的三角形的編號,從而求得剖線與一系列三角形相交的點(diǎn)的三維坐標(biāo)把這些點(diǎn)兩兩相連構(gòu)成一條三維曲線。選取合適的比例尺可以繪制出 兩點(diǎn)的地形剖面圖。并由公式:
計(jì)算出兩點(diǎn)的空間距離(沿地形面的兩點(diǎn)直線距離)。
4 結(jié)束語
把GIS的三維動態(tài)可視化技術(shù)引進(jìn)到虛擬戰(zhàn)場地形環(huán)境中去,以數(shù)據(jù)的直觀可視 化為出發(fā)點(diǎn)來形象地描述戰(zhàn)場地形的特征,并能實(shí)現(xiàn)查詢 分析 功能,為全面準(zhǔn)確快速掌握戰(zhàn)場的實(shí)時(shí)地形信息,提供了有力的工具。 6參考文獻(xiàn):
[1] 鄔倫 劉瑜 馬修軍 韋中亞 田原,地理信息系統(tǒng)原理方法和 出版社,2002。
[2] 劉建永 王源等,戰(zhàn)場環(huán)境信息學(xué) 理工大學(xué)工程兵工程學(xué)院 2002
[3] 王源,數(shù)字勘測技術(shù) 理工大學(xué)工程兵工程學(xué)院 2001
[4] 楊必勝 李清泉 史文中 三維GIS中多分辨率文理模型 圖形圖象學(xué)報(bào)
2003 3
[5] 潭兵 徐青 馬東洋 用約束四叉樹實(shí)現(xiàn)地形的實(shí)時(shí)多分辨率繪制 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào) 2003 3
[6] 馬安鵬 Visual C++6 程序設(shè)計(jì)導(dǎo)學(xué) 清華大學(xué)出版社2002
【基于GIS三維可視化仿真技術(shù)的虛擬戰(zhàn)場地形研究】相關(guān)文章:
2.基于全景圖的虛擬現(xiàn)實(shí)系統(tǒng)研究
5.基于GIS的物流管理系統(tǒng)的設(shè)計(jì)與落實(shí)