太陽(yáng)帆航天器三維動(dòng)畫可視化仿真平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)論文
0 引言
太陽(yáng)帆航天器是一種在深空探測(cè)和星際航行等領(lǐng)域極具潛力的新型航天器,利用太陽(yáng)光壓產(chǎn)生持續(xù)推力,給航天器提供持續(xù)動(dòng)力,本身無(wú)需攜帶大量的燃料,因此在深空探測(cè)和星際航行等航天領(lǐng)域具有廣闊的應(yīng)用前景,近年來(lái)受到國(guó)際航天界的廣泛關(guān)注。
美國(guó)宇航局(NASA)、日本宇航局(JAXA)、歐洲航天局(ESA)等多個(gè)世界研究機(jī)構(gòu)正在研制利用太陽(yáng)帆航天器進(jìn)行推進(jìn)任務(wù)(如Pole Site、Geosail、Geostorm等),但是,離利用太陽(yáng)帆進(jìn)行深空探測(cè)及星際航行還有一定的距離,還有一系列的關(guān)鍵技術(shù)需要攻克。針對(duì)太陽(yáng)帆航天器進(jìn)行一次太空航行任務(wù),需要高額的成本,本文提供了一種經(jīng)濟(jì)且有效的方式,研究并開(kāi)發(fā)了一套三維可視化仿真平臺(tái),利用仿真平臺(tái)模擬太陽(yáng)帆航天器的飛行情況,為實(shí)際太陽(yáng)帆航天器飛行提供一定的參考。
截止目前,未發(fā)現(xiàn)有關(guān)太陽(yáng)帆航天器可視化仿真平臺(tái)的'文獻(xiàn)。本文利用C++6.0、Multigen Creator/Vega、及MATLAB等軟件相結(jié)合搭建了一個(gè)太陽(yáng)帆三維動(dòng)畫可視化仿真平臺(tái)。利用視點(diǎn)控制及多通道多視點(diǎn)技術(shù)分別在不同的通道中觀察太陽(yáng)帆的飛行軌跡及姿態(tài)變化;通過(guò)VC++與MATLAB的交互編程,利用MAT文件的仿真數(shù)據(jù)驅(qū)動(dòng)多個(gè)物體同時(shí)移動(dòng);利用Vega和OpenGL混合編程,實(shí)現(xiàn)了飛行軌跡及姿態(tài)信息實(shí)時(shí)顯示的功能。
1 太陽(yáng)帆航天器三維動(dòng)畫可視化仿真平臺(tái)總體設(shè)計(jì)
三維動(dòng)畫可視化仿真系統(tǒng)主要由太空飛行仿真場(chǎng)景及視景仿真模型兩大部分構(gòu)成。飛行仿真場(chǎng)景是指太陽(yáng)帆所飛行的具體環(huán)境;視景仿真模型是指太陽(yáng)帆航天器的具體結(jié)構(gòu)模型。
本文首先利用Creator建立太空環(huán)境飛行仿真場(chǎng)景(太空環(huán)境)和太陽(yáng)帆航天器的結(jié)構(gòu)視景仿真模型(flt文件);接著利采用Vega提供的Lynx工具將flt文件導(dǎo)入相應(yīng)的場(chǎng)景中,然后,進(jìn)行一系列的初始化工作,并將其儲(chǔ)存為應(yīng)用程序定義文件(ADF)文件;最后,通過(guò)MATLAB計(jì)算各個(gè)時(shí)刻太陽(yáng)帆的飛行軌跡和姿態(tài)數(shù)據(jù),并通過(guò)載入模型對(duì)象的位置及姿態(tài)數(shù)據(jù),完成對(duì)太陽(yáng)帆的飛行軌跡和姿態(tài)變化的三維可視化仿真。
2 仿真軟件平臺(tái)環(huán)境和開(kāi)發(fā)中的關(guān)鍵技術(shù)
2.1 在Visual C++環(huán)境下Vega應(yīng)用程序的開(kāi)發(fā)
Windows平臺(tái)上Vega應(yīng)用程序的開(kāi)發(fā),利用MFC框架開(kāi)發(fā)程序能夠有效地應(yīng)用Vega函數(shù)庫(kù),可以極大程度地減小程序開(kāi)發(fā)的工作量。本文采用基于MFC開(kāi)發(fā)Vega應(yīng)用程序。
2.2 三維動(dòng)畫場(chǎng)景和模型的建立
Multigen Creator是一款專業(yè)化的建模軟件工具,可以有效地創(chuàng)建交互式實(shí)時(shí)應(yīng)用的三維模型及場(chǎng)景。本文利用Creator建立太空環(huán)境模型和太陽(yáng)帆航天器的結(jié)構(gòu)模型。太陽(yáng)帆航天器的結(jié)構(gòu)主要包括大面積帆膜、支撐機(jī)構(gòu)及中心控制機(jī)構(gòu)等其它附屬機(jī)構(gòu),模型的正面視圖如圖2所示。將Creator中建好的模型文件導(dǎo)入Vega中,利用Vega所提供的Lynx定義三維動(dòng)畫場(chǎng)景中的模型元素屬性和相互位置關(guān)系,最后生成用于太陽(yáng)帆航天器三維動(dòng)畫仿真平臺(tái)的ADF文件,即虛擬場(chǎng)景文件。
2.3 多通道渲染技術(shù)
本文采用多通道技術(shù)實(shí)現(xiàn)在同一時(shí)刻不同位置觀察各角色模型對(duì)象的運(yùn)動(dòng)狀態(tài)。在一個(gè)通道中觀察包括太陽(yáng)帆在內(nèi)的多個(gè)運(yùn)動(dòng)模型的相對(duì)運(yùn)動(dòng)軌跡,而在另外一個(gè)通道中觀察太陽(yáng)帆航天器姿態(tài)的變化過(guò)程,結(jié)合兩個(gè)通道同時(shí)觀察太陽(yáng)帆航天器飛行狀況。
2.4 數(shù)據(jù)驅(qū)動(dòng)
本系統(tǒng)利用仿真數(shù)據(jù)與各模型對(duì)象進(jìn)行關(guān)聯(lián),通過(guò)不斷調(diào)用相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行位置及姿態(tài)的更新,實(shí)現(xiàn)逼真的可視化效果,能夠準(zhǔn)確地展現(xiàn)控制效果。利用MATLAB與VC++之間的交互編程調(diào)用MAT文件,并采用MAT文件的操作方法來(lái)讀取MAT文件,從而實(shí)現(xiàn)利用仿真數(shù)據(jù)驅(qū)動(dòng)太陽(yáng)帆、地球等模型對(duì)象的運(yùn)動(dòng)。
3 仿真實(shí)例
三維可視化仿真平臺(tái)系統(tǒng)界面主要包括菜單欄、主窗口和操作面板。其中主窗口中有兩個(gè)通道,分別顯示各模型對(duì)象飛行的軌跡與太陽(yáng)帆的姿態(tài)變化;操作面板則用來(lái)控制仿真的進(jìn)度,并同時(shí)顯示太陽(yáng)帆、地球等角色對(duì)象的位置、姿態(tài)及速度信息。首先載入使用MATLAB進(jìn)行太陽(yáng)帆航天器軌跡優(yōu)化仿真后保存的MAT數(shù)據(jù)文件,與太陽(yáng)帆、地球等模型綁定其相關(guān)的位姿數(shù)據(jù)。太陽(yáng)帆航天器以一定的位姿出現(xiàn)在仿真環(huán)境中,通過(guò)視點(diǎn)切換,并選擇合適的視點(diǎn)來(lái)觀察太陽(yáng)帆飛行過(guò)程。仿真過(guò)程中可以選擇開(kāi)始仿真、暫停仿真、重啟仿真。
4 結(jié)論
本文通過(guò)Vega和VC++相結(jié)合的方法,設(shè)計(jì)并開(kāi)發(fā)了一套太陽(yáng)帆航天器三維動(dòng)畫可視化仿真平臺(tái)。利用Creator軟件建立相關(guān)模型;采用多通道多視點(diǎn)技術(shù)分別觀察太陽(yáng)帆航天器的飛行軌跡及姿態(tài)變化,并通過(guò)視點(diǎn)控制技術(shù),可以從任意位置任意角度觀察太陽(yáng)帆航天器的飛行狀態(tài);通過(guò)MATLAB與VC++的交互編程,實(shí)現(xiàn)了多個(gè)運(yùn)動(dòng)體同時(shí)移動(dòng);通過(guò)回調(diào)函數(shù)解決了Vega和OpenGL混合編程問(wèn)題,給系統(tǒng)增加了顯示飛行軌跡及重要數(shù)據(jù)信息的功能。
【太陽(yáng)帆航天器三維動(dòng)畫可視化仿真平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)論文】相關(guān)文章:
論文:短信平臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)06-24
移動(dòng)校園門戶平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)論文11-12
云計(jì)算網(wǎng)絡(luò)教學(xué)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)論文08-01
數(shù)字媒體內(nèi)容管理平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)論文12-11
基于Android平臺(tái)的紋理映射分析與實(shí)現(xiàn)論文04-27
淺談基于電網(wǎng)管理的三維GIS平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)論文10-25
物流仿真教學(xué)設(shè)計(jì)研究論文10-14