• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Creator/Vega的潛艇潛望鏡視景仿真設計

    2012-09-11 10:17:04胡德生崔國恒張?zhí)旌?/span>
    微處理機 2012年6期
    關鍵詞:視景線程建模

    胡德生,崔國恒,張?zhí)旌?/p>

    (海軍工程大學管理工程系,武漢 430033)

    1 引言

    潛艇作為一種水下作戰(zhàn)武器,其潛望鏡的戰(zhàn)術作用不可忽視,指揮員的航行、作戰(zhàn)等指令決策很大程度上要依靠潛望鏡的觀察情況,因此對潛望鏡視景的模擬尤為重要。為此,利用Vega平臺開發(fā)設計了潛艇潛望鏡視景仿真系統(tǒng),該系統(tǒng)可以用于潛艇航海模擬訓練。

    2 系統(tǒng)開發(fā)平臺

    近年來出現(xiàn)了多種虛擬作戰(zhàn)視景仿真需要的仿真支撐軟件,如OpenGL、Vetree、3Dmax等。而實時三維建模和仿真軟件MultiGen Creator和Vega由于其先進的功能在包括軍事等各個工程領域的視景仿真開發(fā)中得以廣泛采用[1]。

    2.1 MultiGen Creator軟件

    MultiGen Creator是一套高逼真度、最佳優(yōu)化的實時三維建模工具,擁有強大的多邊形建模、矢量建模、大面積地形精確生成功能以及多種專業(yè)選項和插件,能高效、優(yōu)化地生成實時三維(RT3D)數(shù)據庫,并與后續(xù)的實時仿真軟件緊密結合,完成視景仿真。它的諸如層次細節(jié)(LOD)、多邊形篩選、邏輯篩選、繪圖優(yōu)先級以及分離面等高級實時功能使得OpenFlight(.flt)數(shù)據格式在實時三維領域中成為標準的文件格式。

    2.2 Vega軟件

    Vega是開發(fā)實時視覺和聽覺仿真、虛擬現(xiàn)實應用的業(yè)界領先的軟件環(huán)境,它包括圖形開發(fā)環(huán)境Lynx、一套應用編程接口、一系列相關的庫、Audio Works2實時多通道音響系統(tǒng)以及豐富的可選模塊等,以增強在特定應用中的功能。在Vega的圖形界面Lynx中,把用Creator建立的各種flt模型文件添加到場景中;可實時調整通道、窗口、視點、觀察者等的狀態(tài),隨時改變時間設定、系統(tǒng)配置、加入特殊效果等。Vega配合Lynx的功能模塊,定義了27個核心類,以對這些模塊對象進行編程管理,還提供了豐富的頭文件,實現(xiàn)Vega類、參數(shù)、常數(shù)、圖形以及聲音等對象的API定義。

    3 主要設計步驟和方法

    3.1 功能設計

    根據視景仿真設計實現(xiàn)的功能,將系統(tǒng)分成四個模塊進行管理(見圖1)。

    圖1 潛望鏡視景仿真系統(tǒng)模塊組成

    (1)潛望鏡的基本控制功能模塊。主要包括潛望鏡高度調整、視角調整(轉動和俯仰)、視野調整(放大倍率)、濾色鏡選擇、測距和裂像等。

    (2)視景控制模塊。觀察目標姿態(tài)設置和控制,能夠實時添加/刪除觀察目標、設置/改變觀察目標的參數(shù)(航速、航向、位置等)、控制其碰撞檢測等;能夠對海況、天氣、時間、能見度等外部環(huán)境進行設置。

    (3)本艇運動仿真模塊。給出本艇運動的主要參數(shù)(位置、深度、航速、航向、縱傾、橫傾等姿態(tài)信息),實現(xiàn)潛望鏡與本艇的動態(tài)姿態(tài)匹配。

    (4)視景生成顯示模塊。根據以上模塊提供的信息實時生成并顯示逼真的動態(tài)視景畫面。

    3.2 視景生成步驟

    3.2.1 實體建模

    本系統(tǒng)需建立的模型有艦艇類,包括航母、驅逐艦、護衛(wèi)艦、艦載直升機。使用 MultiGen Creator 2.4.1能方便地建立Vega使用的各個模型,包括確定模型種類、模型尺碼、基本的X、Y、Z和H、P、R的方向、模型紋理、模型朝向、位置以及模型最大的多邊形數(shù)量等。模型建好后,利用MultiGen Creator簡化工具進行優(yōu)化,達到在保證效果的前提下提高渲染速度、保證刷新頻率。建立的實體模型如圖2(a)、圖2(b)所示。

    圖2 實體模型示例

    3.2.2 創(chuàng)建 adf文件

    使用Lynx設置基本的視景開發(fā)環(huán)境,主要包括:

    (1)通道(channel):采用雙通道非對稱投影視圖模式。

    (2)窗口(screen):設置全屏幕顯示模式。

    (3)環(huán)境(environment)及各種效果(environment/special effect):建立海洋模型、海洋特效(艦船的波浪和尾流)、雨雪、爆炸以及煙火等特效。

    3.2.3 視景編程

    利用可視化的應用程序開發(fā)工具VC++編寫了基于MFC的Vega應用程序,實現(xiàn)了潛望鏡視景場景的驅動和渲染。主要的幾個方面作了如下處理:

    (1)對object進行結構化管理。為了有效管理object的各種信息(靜態(tài)、動態(tài)屬性以及添加/刪除指令、特效等控制信息),定義了object結構。

    BOOL bActive;//object活動狀態(tài)

    vgPlayer*Plyr;//object的角色對象

    awSound*enginesound;//object的聲音效果

    vgMarineFx*bowwave;//object的首浪效果

    vgMarineFx*trailstream;//object的尾流效果

    vgFx*explode;//導彈命中目標后,爆炸效果

    vgFx*fire;//導彈命中目標后,燃燒效果(火)

    vgFx*smoke;//導彈命中目標后,燃燒效果(煙)

    vgPosition*pos;//object的位置

    int iType;//object的類型

    float fSpeed;//object的速度

    (2)使用fst模型文件格式載入模型。Vega提供了一種轉換工具可以把adf文件里的flt模型文件轉換為fst文件格式[2-3]。Vega的fst文件格式為系統(tǒng)盡可能快的加載模型到場景中提供了一種有效的途徑。fst文件的數(shù)據方式與Vega場景里需要的方式非常相似,所以可以非??斓妮d入。其他的文件格式在加入Vega場景時對系統(tǒng)運行時間沒有什么影響,但在系統(tǒng)需要動態(tài)實時調入模型數(shù)據尤其是大規(guī)模模型數(shù)據時就有很大的延時,影響渲染效果。

    (3)視景觀察者的控制。潛望鏡作為視景環(huán)境的觀察者,這里采用手動調整方式(Manual)來控制它在場景中的位置和姿態(tài)。視景渲染進程循環(huán)中實時接收潛望鏡的控制信息和潛艇的運動姿態(tài)數(shù)據,更新觀察者的位置和姿態(tài),給出潛望鏡與本艇結合的動態(tài)效果。

    (4)創(chuàng)建單獨的線程完成Vega渲染的任務。MFC把線程分為兩類——用戶界面線程(User Interface Thread)和工作者線程(Worker Thread)。用戶界面線程一般用于處理用戶輸入事件并對事件做出響應,實現(xiàn)線程的代碼中含有消息循環(huán);工作者線程與用戶界面無關,主要用于各種耗時的計算量大的場合[4]。Vega系統(tǒng)需要實時進行渲染循環(huán),這是個非常耗時的計算過程,顯然創(chuàng)建單獨的工作者線程來完成Vega渲染的任務是恰當?shù)摹?/p>

    (5)碰撞檢測和特效處理。使用Isector實例與視景中的角色對象(Player)綁定,根據相交測試結果實時增加爆炸、煙火等特效。考慮到相交測試的計算量對CPU的占用,這里只選取相交點坐標和相交模型對象名稱兩種相交測試的結果信息進行處理,減少相交測試的計算量。

    3.3 視景生成效果

    應用程序實現(xiàn)的視景效果截屏如圖3所示。

    4 結束語

    (1)潛望鏡視景仿真的設計功能模塊清晰,結構合理,便于系統(tǒng)維護與二次開發(fā)。

    (2)使用三維建模和仿真軟件MultiGen Creator和Vega開發(fā)的視景模塊,動態(tài)效果逼真,實時性強,是虛擬現(xiàn)實技術的一種有效實現(xiàn)方法。

    圖3 潛望鏡視景效果截屏

    (3)對潛艇訓練、戰(zhàn)術研究等有一定的使用價值。

    [1]梁永恩,鄒勇,丁方頤.Creator/Vega及其在船舶航行視景仿真系統(tǒng)中的應用[J].應用科技,2005,32(4):37-39.

    [2]葉疊,仲梁維,羅云.基于Vega/MultiGen的三維仿真漫游系統(tǒng)的研究與實現(xiàn)[J].計算機工程與設計,2005,26(2):362 -363.

    [3]熊芝蘭,郝燕玲,申冬慧.基于數(shù)字海洋環(huán)境的視景仿真系統(tǒng)研究[J].系統(tǒng)仿真學報,2005,17(7):1631-1633.

    [4]龔卓容.Vega程序設計[M].北京:國防工業(yè)出版社,2002.

    猜你喜歡
    視景線程建模
    聯(lián)想等效,拓展建模——以“帶電小球在等效場中做圓周運動”為例
    基于PSS/E的風電場建模與動態(tài)分析
    電子制作(2018年17期)2018-09-28 01:56:44
    不對稱半橋變換器的建模與仿真
    vega及其在戰(zhàn)場環(huán)境視景仿真系統(tǒng)中的應用
    電子測試(2018年4期)2018-05-09 07:28:19
    淺談linux多線程協(xié)作
    全回轉拖輪運動建模與視景仿真
    基于Vortex與Vega Prime的車輛模擬器動力學與視景仿真
    三元組輻射場的建模與仿真
    Linux線程實現(xiàn)技術研究
    么移動中間件線程池并發(fā)機制優(yōu)化改進
    屏山县| 江北区| 青铜峡市| 阳曲县| 台前县| 大新县| 志丹县| 和林格尔县| 甘孜县| 呼图壁县| 交口县| 灌云县| 顺义区| 大庆市| 庆安县| 集贤县| 绥化市| 依安县| 颍上县| 依兰县| 深泽县| 马龙县| 锦屏县| 会同县| 镇平县| 高邮市| 旺苍县| 汝南县| 洞头县| 五台县| 鲁甸县| 宁阳县| 葫芦岛市| 玛纳斯县| 海南省| 明水县| 岳西县| 鹤庆县| 漠河县| 徐汇区| 勃利县|