999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OGRE的飛行器實時視景軟件的設計與實現

2016-10-13 12:12:55楊琪琛
無線電工程 2016年5期
關鍵詞:引擎

楊琪琛,徐 銳

基于OGRE的飛行器實時視景軟件的設計與實現

楊琪琛,徐 銳

(天津大學電氣與自動化工程學院,天津300072)

針對飛行器實時仿真和三維視景顯示的需求,設計并開發了飛行器實時視景仿真軟件。仿真軟件以OGRE圖形引擎為基礎,結合3DS MAX建模軟件進行三維機體模型創建,利用基于MFC庫和OGRE圖形引擎開發的場景編輯工具實現場景生成,利用UDP協議與dSPACE主控計算機進行通信,為視景顯示提供實時數據驅動。仿真軟件由基礎環境部分、基礎開發模塊、場景編輯工具和視景應用軟件4大部分構成,可以實現飛行器飛行全過程的實時視景展示。仿真結果表明,視景仿真軟件可以逼真地模擬飛行器飛行場景,能夠實時地進行畫面模擬和數據監視,具有廣闊的應用前景。

視景仿真;OGRE;三維建模;飛行器

引用格式:楊琪琛,徐 銳.基于OGRE的飛行器實時視景軟件的設計與實現[J].無線電工程,2016,46(5):85-89.

0 引言

隨著計算機科學技術發展,基于計算機圖形學的視景仿真技術的應用,能極大地提升仿真結果的直觀性和逼真性[1]。許多國內外研究機構都進行了視景開發的相關研究。例如,基于OpenGL,美國國家宇航局德萊頓飛行研究中心開發了名為Core的仿真系統和用于模擬駕駛的 FlightGear[2];基于OGRE圖形引擎,大連理工大學開發了名為SiPESC的衛星編隊可視化平臺[3];南京航空航天大學開發了電子海戰對戰模擬系統[4];華中科技大學開發了港口仿真的可視化演示系統等[5]。

通過對國內外研究現狀總結分析,本文提出一種構建飛行器實時視景仿真系統的方案,方案以模塊化思想將視景系統抽象為通用的基礎開發模塊,基于OGRE圖形引擎進行基本模塊開發;為實現視景系統可擴展性,基于MVC架構,利用MFC庫開發場景編輯器,實現場景生成和編輯功能;在此基礎上針對飛行器特點通過3DS MAX構建三維機體模型,利用UDP協議連接dSPACE實時計算機,提供實時數據驅動,完成飛行器實時視景仿真系統的開發。實時視景仿真系統可以應用于飛行數據顯示、模擬仿真訓練等方向,并且基于該方案可完成多種背景下視景仿真系統的開發。

1 視景仿真軟件的總體架構設計

1.1 視景仿真軟件需求分析

視景仿真軟件的開發目標是在OGRE圖形引擎的基礎上,構建具有可復用性的三維視景開發套件,并在此基礎上針對飛行器實時仿真需求,進一步開發飛行器實時視景仿真應用軟件。飛行器視景軟件應該具有三維場景構建、三維模型的構建和導入、實時數據驅動、天氣效果模擬、場景漫游以及參數配置等功能。

1.2 視景仿真軟件總體架構

在綜合分析視景平臺系統的功能需求和特點基礎上,按照高內聚、低耦合的模塊化設計思想,結合面向對象的設計思路,同時考慮OGRE圖形引擎的接口特點,設計視景平臺系統總體架構如圖1所示。包括基礎環境部分、基礎開發模塊、場景編輯工具和視景應用軟件4大部分。

圖1 視景仿真軟件總體架構

圖1中,基礎環境部分主要包括操作系統、圖形API庫、OGRE圖形引擎開發和運行環境。基礎開發模塊是在綜合分析三維視景應用軟件的共有特點基礎上,為提高開發效率,獨立抽象和開發的可復用軟件模塊。場景編輯工具主要用于三維場景的可視化構建并進行地形編輯等相關編輯工作。應用軟件部分是在上述基礎上,根據具體的飛行器視景開發需求開發的飛行器視景應用程序。

2 視景仿真軟件的基礎開發模塊

基礎開發模塊是基于OGRE圖形引擎抽象和開發的可復用模塊,是后續視景應用軟件開發的基礎。包括OGRE主體框架模塊、場景數據管理模塊和網絡通信模塊等模塊。其中,主體框架模塊負責封裝相關的初始化和配置功能。場景數據管理模塊負責場景數據的讀取和管理,網絡通信模塊負責數據的傳輸和通信。

2.1 OGRE主體框架模塊

主體框架模塊按照OGRE圖形引擎的初始化、配置、資源讀取、場景創建顯示和幀監聽等要求,封裝實現OGRE初始化和配置功能,是整個視景平臺基礎模塊的最底層部分,是所有基于視景平臺的程序的入口點,負責每一幀的渲染推進,是整個視景程序的渲染泵。

OGRE圖形引擎是開發的基礎,其核心對象的基本組成方式類圖如圖2所示[6]。

圖2 OGRE對象組成方式

一般來說,基于OGRE應用程序的創建步驟如下:①創建根結點;②加載插件資源;③配置資源目錄;④創建渲染窗口;⑤創建場景管理器;⑥創建相機、視口;⑦配置資源組;⑧創建不同的場景。

在上述流程基礎上,根據基本初始化配置要求,并結合面向對象的思想,封裝基本的OGRE主體框架模塊UML圖,如圖3所示。

圖3 主體框架模塊UML類圖

主體框架模塊抽象出了視景應用的通用部分,符合面向對象的開發思想,同時也提高了代碼的可復用性,為視景應用程序提供了具有通用性的基本框架。從UML類圖可以看出,當需要開發新的場景,或者擴展視景應用的時候,可以在BaseApp類型的基礎上進行繼承復用已有的接口。

2.2 場景數據管理模塊

場景數據管理模塊負責對于場景的所有數據進行管理和操作,包括對地形、靜態實體和動態實體等數據的管理工作,主要由地形系統、草地和樹木等靜態實體以及場景天氣系統組成。

2.2.1地形系統

一般來說,地形的生成步驟主要包括分塊、高度圖數據、地形紋理和細節層次技術[7]。其中,分塊即把需要生成的地形劃分為許多小的組成部分,將這些部分組合到一起成為最終的整個地形;高度圖數據主要用來生成高度隨機的地形,即三維坐標里的高度坐標值;地形紋理主要用于產生不同材質的地形;細節層級技術則是保持渲染效果的同時提高渲染幀率的常用方法。

基于OGRE圖形引擎提供的相關接口及上述技術,同時按照面向對象的設計思想,地形系統實現的UML類圖如圖4所示。

圖4 地形系統UML類圖

2.2.2 草地和樹木等靜態實體

構建地形環境場景,還需要生成草地樹木等靜態實體,以提高場景的真實程度。單個靜態實體的生成方法與普通模型無異,主要包括網格數據導入,然后進行材質生成等相關工作。構建大場景的樹木和草地除此之外還需考慮如下2個問題:

①隨機效果的樹木散布方式。為了方便構造不同的地形,同時避免將代碼寫死,采用密度圖的方式進行大場景樹木草地構建[8]。其基本思想是從密度圖文件中讀取數據,讀取密度圖數據之后,將對應點的灰度值存入到數據結構當中,在地形生成樹木的時候,根據密度圖的灰度值大小,決定該位置的樹木的密集程度。這樣通過更改密度圖數據,或者替換不同的密度圖數據,就可能得到不同的樹木分布的地形,從而避免將代碼寫死到應用程序當中,提高了靈活性。同時密度圖數據可以使用PhotoShop等圖片處理工具方便地進行人工編輯。

②基于分頁的樹木草地靜態場景處理。為了提高樹木、草地渲染效率,提高幀率,引入基于分頁的場景顯示方法并結合LOD技術。基本思想是對于立即可見或者快要可見的場景分頁,將所需資源加載到內存空間,而對于遠處或者不可見的場景分頁,則暫時不進行加載,從而降低內存的資源開銷和減少渲染目標數進而提高幀率。

2.2.3 場景天氣系統

為了提高場景的真實性,往往還需要在場景當中加入天氣變化等情況。可以通過OGRE引擎的粒子系統實現。

使用OGRE的粒子系統,首先需要使用Root結點創建特定的粒子系統,并且在創建的方法中給出粒子模板的名稱,而粒子模板是預先在腳本中進行定義的資源,在加載資源的時候就已經被OGRE進行記錄。粒子模板是OGRE提高3D應用開發效率的一大利器。粒子腳本能夠避免將效果硬編碼到源代碼當中,可以方便、快捷地進行效果的修改而不用重新編譯生成。

2.3 網絡通信模塊

視景仿真系統基于實時仿真數據驅動運行,所以網絡數據傳輸是視景平臺基礎組成部分中不可或缺的內容。與TCP協議相比,UDP協議不需要建立連接,也無需重傳確認,在點對點的簡單環境當中具有更好的效率,所以基于UDP協議進行通信協議構建[9]。數據傳輸端(主控機)和數據接收端(視景機)網絡接口流程如圖5所示。

圖5 網絡接口流程

3 視景仿真軟件的場景編輯工具

場景構建是三維視景應用中的核心部分之一。OGRE圖形引擎只提供渲染相關的基礎組件和接口,直接使用OGRE圖形引擎接口進行場景創建、場景改動和調試都需要進行反復編譯運行,效率較低。為了能夠進一步提高場景創建生成的效率與直觀性,在基于OGRE圖形引擎的基礎模塊層上抽象場景工具層,用于三維視景場景的應用和開發相關工作。

3.1 場景編輯工具的設計

場景編輯工具是以可視化的方式對場景中的相關資源進行動態編輯和管理,實時預覽編輯效果,最后生成場景相關的配置資源文件,配置文件可以在視景應用中直接進行讀取加載。為了使得開發的場景編輯工具代碼更為規范、易于維護,按照常用的MVC模式對工具進行架構設計[10]。

場景編輯工具主要完成基本的場景編輯、實時預覽和數據生成等相關功能。工具應該具有對于場景進行簡單編輯的功能,包括地形編輯、靜態和動態實體編輯、模型編輯、資源樹功能、場景參數預覽、地形參數編輯以及地形畫刷調整等功能。

3.2 場景編輯工具的實現

場景編輯工具核心部分在于內部編輯功能實現、用戶界面設計和用戶消息響應。其中,內部編輯功能可以復用上述基本開發模塊,包括主體程序框架和場景數據管理等相關內容。

3.2.1 基于MFC庫的界面設計與實現

考慮到OGRE圖形引擎是基于C++語言作為接口,且開發使用的是Windows操作系統,所以圖形界面的開發將基于Windows的MFC庫進行[11]。編輯器的界面設計類圖如圖6所示。

圖6 基于MFC的界面設計UML類圖

3.2.2 編輯器的消息響應流程

消息響應是編輯器的核心部分之一,其本質目的是針對用戶的消息進行響應,進而修改相應數據。消息響應流程如下:

①對當前活躍的View進行處理。主要針對處理與場景用戶漫游有關的消息響應,不涉及具體場景數據的更改,漫游功能使得用戶能夠在場景當中隨意進行走動和觀察。

②消息傳送給CSceneDoc類型。在CSceneDoc類型當中,對輸入消息進一步響應。

③消息響應完成后,激發UI界面進行更新。

3.2.3 場景數據串行化

編輯器的最終目的是能夠將編輯結果存儲到文件系統中,當需要渲染當前場景時,可以在視景應用程序中直接讀取載入[12]。場景數據采用基于XML格式的方式進行串行化,基于TinyXML庫將場景數據以XML文檔類似的形式存儲到文件當中;同時基礎開發模塊同樣調用TinyXML庫相關的接口對于場景文件數據進行解析和讀取工作[13]。

4 飛行器視景仿真軟件實現

在基礎開發模塊和場景編輯工具基礎上,針對飛行器視景仿真需求,設計并開發飛行器視景仿真軟件。

4.1 飛行器三維模型的創建

飛行器視景仿真軟件開發應首先基于3DS MAX,構建多種飛行器的機型,獲得網格數據。利用3DS MAX實現飛行器三維模型的創建,首先需要構建網格實體模型,獲得實體模型數據,作為導入OGRE引擎的數據來源。

4.2 飛行器三維場景的創建

飛行器飛行環境相對比較復雜,所以構建適合的三維場景是使得視景仿真更為真實的關鍵所在。飛行器三維場景構建,核心部分之一就是構建三維地形場景。三維地形構建基于第2節所述的地形系統,采用第2節所述的基礎地形模塊作為地形構建的基礎數據結構。為了避免硬編碼并提高整體系統的靈活性,將場景參數抽象到文件當中形成配置文件,在此基礎上利用第2.2節所述的場景數據管理模塊加載數據,進而自動生成場景。數據配置文件的格式與之前所述保持一致,采用XML格式保存配置參數到文件當中。場景生成的基本流程為:加載配置參數文件、生成地形和渲染環境場景。生成地形參數的同時,也可以將地形數據保存到文件,從而避免每一次單獨生成地形數據,加快生成速度。

場景靜態實體的擺放、位置以及地形的高度等,可以基于第3節所述的場景編輯工具進行修改,進而生成相應的地形和靜態實體數據等。對每一個場景,都將場景地形高度數據存儲到高度圖文件當中,在加載地形的時候直接使用。

4.3飛行器視景仿真軟件演示效果

飛行器實時視景系統,對飛行器的飛行過程進行三維模擬和展現。數據驅動來源于實驗室實時仿真平臺,主要實時計算裝置為dSPACE實時計算機,主控計算機通過UDP協議負責傳輸數據到視景系統實現實時驅動演示。演示實驗效果如圖7所示,分別展示了基本地形場景模擬、海洋天空巡航階段模擬和山地飛行過程模擬等。

圖7 飛行器視景系統演示實驗效果

5 結束語

根據國內外視景開發的研究現狀,提出一種飛行器實時視景仿真平臺的構建方案,首先基于OGRE圖形引擎開發具有可復用性的視景基礎功能模塊組件,利用MFC庫構建了可視化的場景編輯工具,在此基礎上,基于UDP協議完成了與dSPACE實時計算機交互,基于3DS MAX完成飛行器三維建模,實現飛行器飛行過程實時視景演示。視景仿真平臺基于模塊化設計思想,采用MVC設計模式實現,具有良好的靈活性和可擴展性,不僅適用于飛行器視景仿真,對多種研究背景下的視景仿真平臺開發具有參考價值。同時,經過多次演示實驗,可以證明視景仿真系統具有良好的視覺效果和穩定性,能很好地實現視景顯示功能需求。

[1] CURLETT B P.A Software Framework for Aircraft Simula-tion[M].Edwards,California:DrydenFlightCenter,NASA/TM-2008-214639,2008.

[2] 于琰平.基于FlightGear的四旋翼無人機三維可視仿真系統研究[D].天津:天津大學,2010.

[3] 柳 明.基于SiPESC平臺的衛星編隊飛行可視化系統的設計與實現[D].大連:大連理工大學,2011.

[4] 肖笛.電子對抗中三維仿真關鍵技術的研究與實現[D].南京:南京航空航天大學,2010.

[5] 上官右柏.基于OGRE的港口仿真[D].武漢:華中科技大學,2011.

[6] KERGER F.OGRE 3D 1.7 Beginner′s Guide[M].UK:Packt Publishing Ltd,2010.

[7] SHAMIR A,PASCUCCI V.Temporal and Spatial Level of Details for Dynamic Meshes[C]∥Proceedings of the ACM symposium on Virtual Reality Software and Technology,ACM,2001:77-84.

[8] BLUM L,BLUM M,SHUB M.A Simple Unpredictable Pseudo-random Number Generator[J].SIAM Journal on computing,1986,15(2):364-383.

[9] 芬 納,魯多夫,楊繼張.UNIX網絡編程:套接口API [M].北京:清華大學出版社,2006.

[10]黎永良,崔杜武.MVC設計模式的改進與應用[J].計算機工程,2005,31(9):96-97.

[11]侯 捷.深入淺出MFC:使用Visual C++5.0&MFC4.2 [M].武漢:華中科技大學出版社,2001.

[12]FLORESCU D,GRüNHAGEN A,KOSSMANN D.XL:An XMLProgrammingLanguageforWebService Specification and Composition[J].Computer Networks,2003,42(5):641-660.

[13]薛 萌.基于OGRE地形系統的設計與研究[D].上海:復旦大學,2009.

Design and Realization of Flying Vehicle Visual Simulation Software Based on OGRE

YANG Qi-chen,XU Rui
(School of Electrical and Automation Engineering,Tianjin University,Tianjin 300072,China)

To meet the needs of flying vehicle real-time simulation and visual presentation,the visual simulation software based on OGRE graphics engine is designed and developed.The three-dimensional solid model is built combined with 3DS MAX modeling software.Environment is generated by scene editing tools based on MFC library and OGRE which are developed by us.UDP communication is used to get real-time flight data and commands from another computer which controls the running of dSPACE.The software consists of the basic environment part,basic design module,scene editing tools and visual application.The result shows that the visual simulation software can realistically simulate the vehicle flying scene.It is capable of real-time scene simulation and data monitor,and has broad application prospects.

visual simulation;OGRE;3D modeling;flying vehicle

TP391.4

A

1003-3106(2016)05-0085-05

10.3969/j.issn.1003-3106.2016.05.22

2016-01-11

國家自然科學基金資助項目(61273092)。

楊琪琛 男,(1992—),碩士研究生。主要研究方向:三維視景開發、飛行器仿真和軟件開發。

徐 銳 男,(1991—),碩士研究生。主要研究方向:飛行器仿真和軟件開發。

猜你喜歡
引擎
以學促干 挺膺擔當 激活砥礪前行的紅色引擎
江陰市“三個創新”打造危化品安全監管新引擎
新海珠,新引擎,新活力!
消費繼續發揮經濟增長第一引擎作用
消費導刊(2018年8期)2018-05-25 13:19:23
三生 三大引擎齊發力
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
休閑垂釣 傳統漁業新引擎
中國水產(2017年2期)2017-02-25 07:56:29
信息化,“盛京”加速的新引擎
中國衛生(2015年4期)2015-11-08 11:16:18
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
主站蜘蛛池模板: 亚洲最黄视频| 色综合久久88色综合天天提莫| 国产成人综合日韩精品无码首页 | 日本91视频| 免费亚洲成人| 视频在线观看一区二区| 欧美丝袜高跟鞋一区二区| 找国产毛片看| 九九热视频在线免费观看| 99资源在线| 亚洲美女操| 亚洲AV无码久久精品色欲| 日韩色图在线观看| 国产真实乱子伦视频播放| 欧美成人怡春院在线激情| 波多野结衣无码视频在线观看| www.国产福利| 欧美亚洲欧美| 91九色国产porny| 五月婷婷综合色| 首页亚洲国产丝袜长腿综合| 婷婷综合缴情亚洲五月伊| 国产人人乐人人爱| 国产精品理论片| 免费一级全黄少妇性色生活片| 精品少妇人妻av无码久久| 国产一区二区三区夜色| 天天色天天操综合网| 91福利一区二区三区| 亚洲综合久久一本伊一区| 蜜芽国产尤物av尤物在线看| 国产免费网址| 久久精品aⅴ无码中文字幕| 日韩av电影一区二区三区四区| 免费看黄片一区二区三区| 国产精品第三页在线看| 一级一级一片免费| 囯产av无码片毛片一级| 91青草视频| 亚洲国产日韩欧美在线| 九九久久精品免费观看| 中文成人无码国产亚洲| 欧美区一区| 国内精品伊人久久久久7777人| 性做久久久久久久免费看| 亚洲无码四虎黄色网站| 91精品啪在线观看国产91九色| 久热99这里只有精品视频6| 91国语视频| 亚洲一级毛片在线观| 尤物成AV人片在线观看| 操美女免费网站| 日韩高清成人| 亚洲国产欧洲精品路线久久| 亚洲精品天堂自在久久77| av在线手机播放| 欧美精品1区2区| 老司机午夜精品网站在线观看 | 特级aaaaaaaaa毛片免费视频| 国产精品99r8在线观看| 色视频久久| 伊人久久大香线蕉影院| 成AV人片一区二区三区久久| 国产精女同一区二区三区久| 99热这里只有成人精品国产| 国产精女同一区二区三区久| 国产成年无码AⅤ片在线| 中文字幕乱码中文乱码51精品| 亚洲欧洲自拍拍偷午夜色无码| 在线观看91香蕉国产免费| 久久久久久高潮白浆| 性喷潮久久久久久久久| 国产在线一二三区| 欧美精品v欧洲精品| 青青草原国产一区二区| AV无码无在线观看免费| 国外欧美一区另类中文字幕| 亚洲欧美日韩中文字幕一区二区三区| 国产主播喷水| 午夜性爽视频男人的天堂| 亚洲欧美人成电影在线观看| av天堂最新版在线|