• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Vega Prime和GL Studio的某型飛機虛擬座艙系統(tǒng)研究與實現(xiàn)

      2015-01-10 07:49:38何傳易楊德輝
      科技視界 2015年32期
      關(guān)鍵詞:座艙驅(qū)動程序應(yīng)用程序

      黃 旭 何傳易 楊德輝

      (中國人民解放軍93199部隊司令部信息管理中心,黑龍江 哈爾濱150006)

      隨著虛擬仿真技術(shù)的不斷發(fā)展和創(chuàng)新,使得將飛機座艙搬進教室成為可能。筆者結(jié)合某型飛機座艙儀表多、參數(shù)交聯(lián)復(fù)雜的特點,選擇了開發(fā)周期短、組件復(fù)用性好的GL Studio軟件來實現(xiàn)虛擬儀表仿真開發(fā),并采用Vega Prime進行3D場景驅(qū)動,實現(xiàn)了GL Studio組件與Vega Prime間的結(jié)合和交互控制。

      1 GL Studio虛擬儀表開發(fā)

      1.1 GL Studio簡介

      GL Studio是由美國DiSTI公司開發(fā),使用OpenGL圖形庫建立實時、照片級、交互式圖形的虛擬儀表仿真程序的軟件。它獨立于平臺,可以運行于Windows NT、IRIX和Linux操作系統(tǒng)上。GL Studio提供了友好的設(shè)計界面,其代碼生成器能把美工人員設(shè)計繪制好圖形文件一鍵生成c++和OpenGL的源代碼,生成的可以源代碼單獨運行,也可以嵌入其他應(yīng)用程序中。此外GL Studio組件的復(fù)用性極好,由GL Studio設(shè)計器創(chuàng)建的對象能容易地轉(zhuǎn)變成一個組件對象,當(dāng)一個組件對象創(chuàng)建之后,就可以輕松地重復(fù)使用該對象[1]。

      GL Studio是基于對象的虛擬儀表開發(fā)工具,將對象的開發(fā)過程分成建立圖形對象和建立行為代碼兩部分,前者由美工人員完成,后者則由編程人員完成。

      其基本的開發(fā)流程如圖1所示。

      圖1 GL Studio基本開發(fā)流程

      美工人員收集真實儀表圖片素材,經(jīng)過紋理提取和修飾以后,使用GL Studio的設(shè)計器進行界面布局,并對創(chuàng)建的對象有效地命名(符合C++命名規(guī)則及要求);編程人員除需掌握基本的C++語言編程技術(shù)外,還需熟悉儀表知識,并根據(jù)儀表功用,在界面設(shè)計基礎(chǔ)上創(chuàng)建對象的動作代碼,經(jīng)過測試集成后發(fā)布最終仿真程序。

      1.2 虛擬儀表動作屬性創(chuàng)建

      飛機座艙儀表仿真要求虛擬儀表能及時影響用戶操作,并能實時動態(tài)地顯示仿真數(shù)據(jù),實現(xiàn)輸入設(shè)備與顯示部件之間的數(shù)據(jù)交互功能。常用到的輸入設(shè)備包括開關(guān)、按鈕、旋鈕等,GL Studio對大多數(shù)類型的輸入設(shè)備提供了封裝插件,大大減輕了開發(fā)人員的工作量。對于一些不常用的操作部件,則可以利用InputDevice控件通過編程響應(yīng)鼠標(biāo)事件來實現(xiàn)。

      儀表設(shè)備基本顯示部件包括指針、指示燈、數(shù)字滾輪刻度盤、LED數(shù)碼管等。對于指針和指示燈類的顯示部件,GL Studio提供了大量函數(shù)進行指示控制,常用的函數(shù)有:

      ●動態(tài)旋轉(zhuǎn):DynamicRotate(float,int);

      ●動態(tài)平移:DynamicTranslate(float,float,float,bool);●動態(tài)縮放:DynamicScale(const Vector&);●閃爍:Blinking(bool);

      ●顯示/隱藏: Visibility(bool);

      對于數(shù)字滾輪刻度盤,GL Studio提供了GlsOdometer對象,用戶僅需設(shè)置好參數(shù)即可復(fù)雜的數(shù)字滾輪刻度盤功能;對于LED數(shù)碼管則可以使用GlsTextGrid字符類對象來實現(xiàn)。

      GL Studio提供的大量的封裝插件和指示控件函數(shù),實現(xiàn)了儀表數(shù)據(jù)的實時交互和動態(tài)顯示,逼真地還原了儀表的工作狀態(tài)。此外,用戶還可以使用PLAY_SOUND(o,index)宏播放指定編號的聲音,來響應(yīng)用戶的鼠標(biāo)操作,從而進一步增強操作的真實感。

      2 Vega Prime仿真驅(qū)動程序

      2.1 Vega Prime仿真程序開發(fā)流程

      Vega Prime是由MultiGen-Paradigm公司推出的最新VR開發(fā)平臺,具有面向?qū)ο蟆⒐δ軓姶?、界面友好、平臺兼容性好等特點[2]。其基本開發(fā)流程包括建立模型、場景設(shè)置和編寫驅(qū)動控制程序三部分:建立模型主要是完成各種仿真對象和地形等的3D建模工作,通常用第三方工具如 GL Studio(儀表)、3DMAX、Creator、Terravista(地形)等完成;場景設(shè)置指利用LynX Prime對應(yīng)用程序及場景進行基本的配置,包括應(yīng)用參數(shù)配置(如窗口、通道等參數(shù))、環(huán)境設(shè)置、對象初始位置姿態(tài)設(shè)置以及某些特效設(shè)置等,設(shè)置完成后生成*.acf配置文件供程序加載使用;編寫驅(qū)動控制程序則是利用Vega Prime的應(yīng)用程序編程接口(API),在VC++環(huán)境下實現(xiàn)VR仿真驅(qū)動控制程序的編寫、調(diào)試和發(fā)布,本文采用的是VS.NET2005(對應(yīng)VC8.0版本)編程環(huán)境。

      2.2 基于MFC對話框的Vega Prime程序框架

      VC++工程類型可以分為:控制臺(Console)應(yīng)用程序、Windows應(yīng)用程序和基于MFC的應(yīng)用程序。MFC是比較流行的基于文檔/視圖結(jié)構(gòu)的應(yīng)用程序框架,封裝了大量的Windows API函數(shù),已成為開發(fā)Windows應(yīng)用程序的主流框架結(jié)構(gòu),而標(biāo)準(zhǔn)的Vega Prime視景仿真程序為控制臺應(yīng)用程序。為此我們將標(biāo)準(zhǔn)的Vega Prime仿真驅(qū)動程序改造成基于MFC對話框的驅(qū)動程序。

      改造后的驅(qū)動控制程序在MFC對話框進程完成對話框初始化,啟動Vega Prime渲染進程完成系統(tǒng)初始化、定義、配置、仿真循環(huán)等工作。初始化用來VP系統(tǒng)初始化,創(chuàng)建內(nèi)存等;定義、配置是通過讀取和解析LynX Prime應(yīng)用程序生成的*.a(chǎn)cf場景設(shè)置文件,創(chuàng)建三維模型,建立仿真對象與C++類之間的關(guān)系,完成場景加載工作;仿真循環(huán)則是根據(jù)仿真數(shù)據(jù),完成場景渲染、漫游控制、數(shù)據(jù)交互等工作,在MFC下我們使用定時器對幀循環(huán)進行頻率控制,從而保證數(shù)據(jù)同步。

      3 飛機虛擬座艙系統(tǒng)的實現(xiàn)

      3.1 GL Studio組件與Vega Prime的交互控制

      在GL Studio中完成飛機座艙儀表面板的制作后,可以利用VC將 GL Studio 模型文件(*.gls)制作成動態(tài)鏈接庫文件(*.dll文件)。 虛擬場景創(chuàng)建完畢之后,需將做好的飛機座艙虛擬面板的動態(tài)連接庫文件導(dǎo)入虛擬場景中,但Vega Prime本身并不支持GL Studio模型的直接加載,因此需要安裝配套的vpGLStudioPlugin插件,該插件使Lynx Prime場景編輯器可以直接加載GL Studio生成的動態(tài)鏈接庫文件,并將其生成為一個vpGLStudioComponent類,方便地實現(xiàn)了GL Studio組件與Vega Prime的交互控制功能,大大降低了系統(tǒng)的開發(fā)難度和成本。

      使用vpGLStudioComponent類中的setAtrib函數(shù)可以將仿真數(shù)據(jù)傳遞給GL Studio虛擬儀表面板,從而控制儀表的狀態(tài)、動作和顯示數(shù)據(jù),該函數(shù)傳遞的數(shù)據(jù)類型為字符型,因此在傳遞前需進行數(shù)據(jù)類型轉(zhuǎn)換。

      不同儀表面板之間,儀表面板與仿真驅(qū)動程序間的數(shù)據(jù)交換則可以使用網(wǎng)絡(luò)通信、消息傳遞等方式進行傳遞。

      當(dāng)虛擬儀表面板上的元件發(fā)生動作時,向仿真驅(qū)動程序窗口發(fā)送消息:

      3.2 系統(tǒng)運行實現(xiàn)

      飛機虛擬座艙系統(tǒng)對飛機、機場和地形等各種仿真對象進行了3D建模工作,采用GL Studio制作虛擬儀表仿真程序,利用Vega Prime進行系統(tǒng)的場景仿真驅(qū)動,飛機的仿真數(shù)據(jù)由飛行解算程序仿真計算得出,通過網(wǎng)絡(luò)通信采用無連接的UDP協(xié)議方式與系統(tǒng)進行數(shù)據(jù)交換。完成后的飛機虛擬座艙系統(tǒng)運行界面及效果如圖2所示。

      圖2 飛機虛擬座艙系統(tǒng)運行效果

      4 結(jié)束語

      虛擬現(xiàn)實技術(shù)在飛行領(lǐng)域有廣泛的應(yīng)用前景,特別在航空理論教學(xué)中,虛擬現(xiàn)實技術(shù)的應(yīng)用不僅能激發(fā)學(xué)員的學(xué)習(xí)興趣,提高教學(xué)效率,而且安全可控、易于復(fù)制,降低了教學(xué)成本。本文通過某型飛機虛擬座艙系統(tǒng)的研究與實現(xiàn),為航理教、學(xué)人員提供了逼真的飛機虛擬座艙仿真環(huán)境,同時也建立了基于Vega Prime的虛擬仿真程序的基本開發(fā)流程和程序框架,為開發(fā)其它虛擬現(xiàn)實仿真程序提供了參考和基礎(chǔ)。

      [1]于輝,趙經(jīng)成,等.GL Studio虛擬儀表技術(shù)應(yīng)用與系統(tǒng)開發(fā)[M].國防工業(yè)出版社,2010.

      [2]王孝平,董秀成,等.Vega Prime實時三維虛擬現(xiàn)實開發(fā)技術(shù)[M].西南交通大學(xué)出版社,2012.

      [3]李萬,王學(xué)軍,崔小鵬.GL Studio與Vega Prime在某艦炮虛擬訓(xùn)練仿真系統(tǒng)中的應(yīng)用[J].火炮發(fā)射與控制學(xué)報,2010,6.

      [4]陳懷民,吳錦雯,黃曉波.基于GL Studio的飛行仿真虛擬儀表軟件設(shè)計與實現(xiàn)[J].測控技術(shù),2013.

      [5]楊建國,王乘.基于Multigen和Vega的虛擬現(xiàn)實技術(shù)[J].計算機仿真,2003.

      猜你喜歡
      座艙驅(qū)動程序應(yīng)用程序
      開放式數(shù)字座艙軟件平臺IndiGO
      NDT推出面向下一代智能座艙應(yīng)用的壓感觸控解決方案
      汽車零部件(2020年9期)2020-09-28 05:45:50
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      未來民機座艙顯示控制系統(tǒng)初探
      電子測試(2018年18期)2018-11-14 02:30:20
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      三星電子將開設(shè)應(yīng)用程序下載商店
      微軟軟件商店開始接受應(yīng)用程序
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      武宁县| 洪江市| 那坡县| 漳平市| 华安县| 呼伦贝尔市| 翁牛特旗| 商丘市| 香港 | 泰宁县| 广安市| 苏州市| 平湖市| 漠河县| 瓦房店市| 津南区| 阳信县| 汽车| 成武县| 托里县| 曲麻莱县| 建宁县| 张家界市| 乃东县| 渝北区| 嘉禾县| 陆丰市| 清河县| 青铜峡市| 荣昌县| 清镇市| 彰武县| 遵义县| 武清区| 奉贤区| 克东县| 宾川县| 呼玛县| 河源市| 罗源县| 襄城县|