亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Skyline的空戰(zhàn)態(tài)勢(shì)回放技術(shù)研究

        2012-04-29 00:00:00雷祥張少華

        摘要:空戰(zhàn)二維或三維態(tài)勢(shì)顯示系統(tǒng)已經(jīng)有了一些成熟的產(chǎn)品,但三維態(tài)勢(shì)回放應(yīng)用并不多,原因在于大量態(tài)勢(shì)數(shù)據(jù)的存取問題和目標(biāo)的快速刷新問題,文本采用基于Skyline提供的3D空間技術(shù),設(shè)計(jì)了相應(yīng)存取方案,有效解決了這兩個(gè)問題,實(shí)現(xiàn)了戰(zhàn)場(chǎng)態(tài)勢(shì)的回放、拖放、慢放、快放功能,能夠直觀逼真的還原戰(zhàn)場(chǎng)態(tài)勢(shì),為軍事人員研究戰(zhàn)爭(zhēng)提供重要的輔助工具。

        關(guān)鍵詞:Skyline;空戰(zhàn)態(tài)勢(shì);回放

        中圖分類號(hào):TP399-CB 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 15-0000-02

        1 引言

        Skyline軟件系統(tǒng)公司是全球領(lǐng)先的三維空間地理信息可視化軟件供應(yīng)商。TerroExplorer Pro是該軟件套系中的一個(gè)產(chǎn)品,它提供了3D編輯器和顯示空間,并二次開發(fā)接口,用戶可以根據(jù)需求,開發(fā)出個(gè)性化的應(yīng)用系統(tǒng)。Skyline利用了流(Stream)[1]的加載方式,其原理是將完整的數(shù)據(jù)劃分為若干塊,用戶通過向系統(tǒng)發(fā)送請(qǐng)求的方式得到所需數(shù)據(jù)塊的過程,這種機(jī)制節(jié)省了系統(tǒng)不必要的開支,大大提高了系統(tǒng)的運(yùn)行效率。在國(guó)內(nèi),Skyline已經(jīng)得到很多應(yīng)用,周美娟[2]等人提出基于Skyline的公安三維GIS展現(xiàn),已經(jīng)廣泛應(yīng)用于公安系統(tǒng)。李虎[3]在其碩士論文中,對(duì)在Skyline中三維模型的建立、加載和二維與三維聯(lián)動(dòng)技術(shù)做了大量研究,但是對(duì)三維態(tài)勢(shì)進(jìn)行回放,國(guó)內(nèi)研究較少,其難點(diǎn)在于態(tài)勢(shì)信息的存取,因?yàn)閼B(tài)勢(shì)信息是按照時(shí)間序列描述空戰(zhàn)中各個(gè)目標(biāo)狀態(tài)和位置的數(shù)據(jù),其特點(diǎn)是數(shù)據(jù)記錄條數(shù)多,如一場(chǎng)2對(duì)1的空戰(zhàn),如果空戰(zhàn)持續(xù)半小時(shí),按照1s存儲(chǔ)十幀,那么記錄的條數(shù)約為18萬(wàn)條,每一條記錄又包含了目標(biāo)的詳細(xì)信息,要進(jìn)行回放時(shí),就是把這些數(shù)據(jù)重新呈現(xiàn)出來(lái)。文本根據(jù)空戰(zhàn)態(tài)勢(shì)戰(zhàn)數(shù)據(jù)的特點(diǎn),設(shè)計(jì)相應(yīng)的存取機(jī)制,并利用Skyline提供的二次開發(fā)方法,設(shè)計(jì)了回放機(jī)制。

        2 數(shù)據(jù)準(zhǔn)備

        無(wú)論是真實(shí)的空戰(zhàn)還是仿真空戰(zhàn),我們假定都能收到空戰(zhàn)中各個(gè)目標(biāo)的狀態(tài)信息,這些信息都是按照一定時(shí)間間隔一幀幀發(fā)送的,系統(tǒng)能夠?qū)@些信息進(jìn)行實(shí)時(shí)處理和存儲(chǔ)。為減少存儲(chǔ)空間,提高回放效率,在存儲(chǔ)態(tài)勢(shì)數(shù)據(jù)之前,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,并建立目標(biāo)與時(shí)間序號(hào)之間的索引。

        2.1 去除冗余數(shù)據(jù)

        去除冗余數(shù)據(jù)可以大大減少存儲(chǔ)空間,在空戰(zhàn)過程中,并不是所有目標(biāo)的位置和狀態(tài)都發(fā)生變化,這些沒有發(fā)生變化的目標(biāo),就不需要存儲(chǔ)其信息。去除靜態(tài)目標(biāo)信息的方法是:定義一個(gè)臨時(shí)數(shù)組Temp_Target [Target ID],記錄每一個(gè)目標(biāo)的上一幀數(shù)據(jù),當(dāng)要存儲(chǔ)下一幀數(shù)據(jù)時(shí),與之比較,如果數(shù)據(jù)相同,則不存儲(chǔ),如果不相同,則進(jìn)行存儲(chǔ),同時(shí)替換臨時(shí)數(shù)組的值,以便與下一幀進(jìn)行比較,利用該方法可以對(duì)局部重復(fù)數(shù)據(jù)進(jìn)行過濾。另外,一些目標(biāo)如空載導(dǎo)彈這樣的目標(biāo),在未發(fā)射之前是綁定在飛機(jī)上,在導(dǎo)彈發(fā)射之前,只需記錄其所屬飛機(jī)編號(hào)就可以,當(dāng)導(dǎo)彈發(fā)射以后,才開始存儲(chǔ)該導(dǎo)彈的信息。

        2.2 建立時(shí)間序列和更新目標(biāo)之間的索引

        把時(shí)間序列與更新目標(biāo)之間關(guān)聯(lián)起來(lái),建立時(shí)間序列和更新目標(biāo)之間索引,可以按照時(shí)間順序找到更新的目標(biāo)序號(hào),即一個(gè)時(shí)刻對(duì)應(yīng)的記錄編號(hào),通過編號(hào)得到目標(biāo)信息。

        2.3 數(shù)據(jù)的存取方式

        經(jīng)過上述的數(shù)據(jù)預(yù)處理后,把態(tài)勢(shì)數(shù)據(jù)按照上述的結(jié)構(gòu)逐條寫入硬盤文件,當(dāng)接收結(jié)束后,關(guān)閉硬盤文件。經(jīng)過上述的數(shù)據(jù)預(yù)處理,一個(gè)30萬(wàn)條記錄的空戰(zhàn),大小約為為5MB左右。在內(nèi)存中開辟一個(gè)結(jié)構(gòu)體, 完全能夠臨時(shí)存儲(chǔ)。在進(jìn)行回放之前,把硬盤文件中的態(tài)勢(shì)數(shù)據(jù)依次讀入內(nèi)存中的結(jié)構(gòu)體里面,為Skyline的調(diào)用做好準(zhǔn)備。

        3 解決方案

        3.1 平臺(tái)準(zhǔn)備

        在使用Skyline進(jìn)行二次開發(fā)之前,先引入TerraExplorerX.dll動(dòng)態(tài)鏈接庫(kù)文件以后,再程序中引入3D顯示空間和信息樹控件,然后加載mpt格式的場(chǎng)景文件,還要準(zhǔn)備準(zhǔn)備對(duì)應(yīng)的空戰(zhàn)武器三維模型(支持的類型有.x、.dxf、.flt、.xpc或.fpc格式),在加載目標(biāo)時(shí)調(diào)用。

        3.2 總體設(shè)計(jì)

        系統(tǒng)總體為數(shù)據(jù)層、邏輯層、表現(xiàn)層三層結(jié)構(gòu)。表現(xiàn)層主要負(fù)責(zé)與用戶進(jìn)行交互,提供各種如測(cè)高、測(cè)距、捕捉目標(biāo)、獲取經(jīng)緯度等;邏輯層是為表現(xiàn)層服務(wù),提供各種服務(wù)接口,負(fù)責(zé)與數(shù)據(jù)庫(kù)和Skyline提供的接口交互;數(shù)據(jù)層負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和供應(yīng),如圖三所示。

        3.3 詳細(xì)流程

        系統(tǒng)主要依靠時(shí)鐘函數(shù)按照一定的時(shí)鐘頻率讀取內(nèi)存中按照時(shí)間序列建立好的索引態(tài)勢(shì)數(shù)據(jù),然后利用Skyline提供的二次開發(fā)接口和3D顯示控件,把目標(biāo)的位置和狀態(tài)顯示出來(lái),其主要流程如圖四所示,首先一次性把態(tài)勢(shì)數(shù)據(jù)讀入內(nèi)存中,然后加載mpt格式的三維場(chǎng)景文件到3D顯示控件中,在利用時(shí)鐘函數(shù)按照時(shí)間順序讀取內(nèi)存中的目標(biāo)參數(shù),利用Skyline提供的接口方法,創(chuàng)建、移動(dòng)、刪除目標(biāo)。還可以根據(jù)目標(biāo)的移動(dòng)過的位置,畫出目標(biāo)的軌跡,如圖四所示。

        3.4 目標(biāo)管理

        Skyline為目標(biāo)的三維動(dòng)態(tài)顯示提供了豐富的方法,只需要結(jié)合實(shí)際需求,合理的調(diào)用現(xiàn)成方法,可以快速實(shí)現(xiàn)目標(biāo)的創(chuàng)建、更新和刪除。比如創(chuàng)建一個(gè)目標(biāo)動(dòng)態(tài)目標(biāo)使用CreateDynamicObject()、創(chuàng)建軌跡CreatePolyline()、目標(biāo)位置的移動(dòng)SetPosition()、目標(biāo)定位FlyToObject()等利用已有的方法,賦予各個(gè)方法的參數(shù),就能實(shí)現(xiàn)該功能。在一個(gè)窗口類中,要對(duì)同一個(gè)類進(jìn)行多次實(shí)例化,必須建立映射,才能區(qū)分出來(lái),在VC++語(yǔ)言環(huán)境中,可以通過map類型的關(guān)聯(lián)容器來(lái)實(shí)現(xiàn),map[4]是鍵值對(duì)的集合,map 類型通??衫斫鉃殛P(guān)聯(lián)數(shù)組(associative array),可使用鍵作為下標(biāo)來(lái)獲取一個(gè)值,正如內(nèi)置數(shù)組類型一樣,值就可以使一個(gè)數(shù)值,也可以是一個(gè)對(duì)象。在VC++中構(gòu)造如下:std::map m_TargetFlag;ITerrainPolyline5Ptr的一個(gè)映射。m_TargetFlag [LineName]就是目標(biāo)的實(shí)例,其中TargetName是目標(biāo)標(biāo)識(shí)的名稱。這樣就可以區(qū)分各個(gè)目標(biāo)在在一個(gè)場(chǎng)景中的實(shí)例了,通過相應(yīng)的實(shí)例,進(jìn)行相關(guān)的操作。

        3.5 回放控制

        回放控制包括快放、慢放、拖放??旆藕吐诺膶?shí)現(xiàn)原理主要是調(diào)整時(shí)鐘函數(shù)的運(yùn)行周期,當(dāng)周期變大時(shí),讀取內(nèi)存中數(shù)據(jù)的頻率慢,使得用戶感覺目標(biāo)運(yùn)動(dòng)的速度也變慢??旆艑?shí)現(xiàn)原理相同,只是把時(shí)鐘函數(shù)的周期變小。拖放的實(shí)現(xiàn),相對(duì)比較麻煩,上文中已經(jīng)提到,建立時(shí)間與目標(biāo)序號(hào)的索引值,目的就是為了進(jìn)行拖放,通過拖動(dòng)進(jìn)度條上的滑塊,得到拖放后的時(shí)間索引值,再根據(jù)索引值去更新對(duì)應(yīng)的目標(biāo)ID,此時(shí)場(chǎng)景中要進(jìn)行相關(guān)的處理,對(duì)場(chǎng)景中所有目標(biāo)進(jìn)行遍歷,檢查器狀態(tài)是否和內(nèi)存中的一致,如果有目標(biāo)增加,則要?jiǎng)?chuàng)建相應(yīng)的目標(biāo),如果有目標(biāo)減少,則要?jiǎng)h除該目標(biāo)。同時(shí)還要檢查目標(biāo)的位置是否發(fā)生了變化。如果發(fā)生了變化,則要把目標(biāo)置于新的位置上,軌跡也要做相應(yīng)增補(bǔ)和擦除。

        4 實(shí)例分析

        利用MFC框架,開發(fā)出空戰(zhàn)態(tài)勢(shì)回放的原型系統(tǒng),該畫面顯示的是一個(gè)二對(duì)一的空戰(zhàn)效果,圖中顯示了飛機(jī)和飛機(jī)劃過的軌跡和一枚導(dǎo)彈。該態(tài)勢(shì)一共有173454萬(wàn)條記錄,空戰(zhàn)按正常速度回放時(shí)間為34分鐘左右,加載了100米分辨率的場(chǎng)景文件,加載時(shí)間約為10s,讀取173454數(shù)據(jù)時(shí)間約為15s,當(dāng)態(tài)勢(shì)數(shù)據(jù)和場(chǎng)景數(shù)據(jù)加載完成后,該系統(tǒng)對(duì)計(jì)算機(jī)資源的消耗處于一個(gè)穩(wěn)定狀態(tài),不會(huì)因?yàn)橛脩暨M(jìn)行地圖漫游,目標(biāo)查詢等操作而出現(xiàn)延時(shí),這正是使用Skyline的優(yōu)勢(shì)所在,也說明本文使用的方法時(shí)合理的。

        參考文獻(xiàn):

        [1]Webopedia.What is stream[EB/OL].http://www.webopedia.com/TERM/s/streaming.html.

        [2]周美娟.基于Skyline的公安三維GIS展現(xiàn)應(yīng)用系 統(tǒng)[J].測(cè)繪科學(xué),2011,(3):213-215.

        [3]李虎等.基于Skyline的戰(zhàn)場(chǎng)態(tài)勢(shì)系統(tǒng)研究與實(shí)現(xiàn)[D].2008:1.

        [4]Stanley B.Lippman著,李師賢等譯. C++ Primer [M].北京:人民郵電出版社,2006.309.

        国产无遮挡又黄又爽在线视频| 护士人妻hd中文字幕| 放荡的美妇在线播放| 无码骚夜夜精品| 亚洲AV无码一区二区二三区我| 国产大片在线观看三级| 久久久久久久尹人综合网亚洲| 91人妻人人做人人爽九色| 免费观看国产短视频的方法| 亚洲综合精品伊人久久 | 内射爽无广熟女亚洲| 免费人成毛片乱码| 国产后入内射在线观看| av手机在线观看不卡| 国产三级欧美| 久久久久久久99精品国产片| 国产精品黑色丝袜在线播放| 少妇高潮太爽了免费网站| 亚洲精品国产第一区二区| 欧美大屁股xxxx| 无码中文日韩Av| 亚洲av成人波多野一区二区| 国产高清在线精品一区app| 国产成a人亚洲精v品无码性色| 亚洲色婷婷综合开心网| 一区二区二区三区亚洲| 美女把尿囗扒开让男人添| 精品国产AⅤ一区二区三区4区 | 精品无人码麻豆乱码1区2区| 7777精品久久久大香线蕉| 日韩精品中文字幕人妻系列| 国产91精品高潮白浆喷水| 国产特级毛片aaaaaaa高清| 亚洲 欧美 激情 小说 另类| 亚洲熟少妇一区二区三区| 三年的高清电影免费看| 亚洲中文字幕每日更新| 国产色婷亚洲99精品av网站| 国产精品区一区二区三在线播放| 永久黄网站色视频免费| 国产青青草自拍视频在线播放|