版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、項目編號:A15165本科生科研訓練計劃項目(SRTP)項目成果 項目名稱: 航天器在軌運行的三維可視化仿真 項目負責人: 林凡慶 項目合作者: 曲大銘 侯天翔 楊喚晨 孫潔 所在學院: 空間科學與物理學院 專業(yè)年級: 空間科學與技術2013級 山東大學(威海)大學生科技創(chuàng)新中心航天器在軌運行的三維可視化仿真 空間科學與物理學院空間科學與技術專業(yè) 林凡慶 指導教師 許國昌 杜玉軍摘要:航天器在軌運行的三維可視化程序設計是建立衛(wèi)星仿真系統(tǒng)最基礎的工作。航天器在軌運行的三維可視化仿真有著重要的意義:它既可以使用戶對衛(wèi)星在軌運行情況形成生動直觀、全面具體的視覺印象,又可以大大簡化衛(wèi)星軌道的設計過程。
2、本文首先構建了航天器在軌運行的三維可視化仿真程序的基本框架,然后對涉及到的關鍵理論與知識,如時間、坐標轉換、衛(wèi)星軌道理論、OpenGL圖形開發(fā)庫等也做了闡述,最后介紹了我們的主要工作和科研成果。我們的主要成果是實現(xiàn)了衛(wèi)星在軌運行的三維可視化仿真并對原有程序進行了改進。關鍵詞:航天器 在軌運行 三維可視化 程序設計 OpenGL Abstract:The programmer of three-dimensional visualization on satellite in-orbiting is the utmost foundational work in establishing sat
3、ellite emulation system. The three-dimensional visual simulation on satellite is of great significance: it assures that users may receive a vivid and direct-viewing and it also can greatly simplify the design process of satellite orbit.The basic frame of three-dimensional visual simulation program o
4、n satellite in-orbiting has been set up firstly. then, related essential theory and knowledge such as time system, coordinate conversation, satellite orbit, OpenGL and etc also has been introduced. Lastly, our main work and research results has been introduced. Our main achievement is that we realiz
5、ed the program of three-dimensional visualization on satellite in-orbiting and we improve the original program.Key words:satellite In-orbit movement 3D visualization programming OpenGL 一、引 言當今社會是一個信息的社會,誰掌握了信息的主動權,就意味著掌握了整個世界。而人造衛(wèi)星是當今人們準確、實時、全面的獲取信息的重要手段,衛(wèi)星的各項應用已經(jīng)成為信息社會發(fā)展的強大動力。而人造衛(wèi)星的應用是一項高投入、高風險、長周期
6、的活動,仿真技術由于具有可控制、可重復、經(jīng)濟、安全、高效的特點,在人造衛(wèi)星應用領域以至整個航天領域都起到了重大的作用。目前國際上較常用的衛(wèi)星仿真軟件主要有美國的Winorbit、美國Cybercom System公司研制的CPLAN和AGI公司的STK。其中以STK功能最為強大,界面最為友好,在衛(wèi)星仿真領域占有絕對領先地位。STK功能雖然強大,但其價格昂貴,源碼也不公開,無法自主擴展,并且該軟件被限制了對中國的銷售,所以中國不得不獨立開發(fā)適于自己的衛(wèi)星仿真系統(tǒng)1。而且國內目前衛(wèi)星系統(tǒng)的仿真軟件很少,主要有一些大學開發(fā)的小型的衛(wèi)星系統(tǒng)仿真軟件,還有北京航天慧海系統(tǒng)仿真科技有限公司開發(fā)的Vpp-S
7、TK航天衛(wèi)星仿真開發(fā)平臺V4.0。總體來說,國內目前在這個方面的技術還相當不成熟,因此研究和自主開發(fā)衛(wèi)星仿真系統(tǒng)意義重大。仿真可視化,就是把仿真中的數(shù)字信息變?yōu)橹庇^的,以圖形圖像形式表示的,隨時間和空間變化的仿真過程呈現(xiàn)在研究人員面前,使研究人員能夠知道系統(tǒng)中變量之間、變量與參數(shù)之間、變量與外部環(huán)境之間的關系,直接獲得系統(tǒng)的靜態(tài)和動態(tài)特征2。本文首先構建了航天器在軌運行的三維可視化仿真程序的基本框架,然后對涉及到的關鍵理論與知識,如時間、坐標轉換、衛(wèi)星軌道理論、OpenGL圖形開發(fā)庫等也做了闡述,最后介紹了我們的主要工作和科研成果。二、程序設計綜述(一)程序的總體框架我們根據(jù)太陽、地球、月球等
8、天體運行的規(guī)律、人造衛(wèi)星軌道理論以及常用的時間和坐標系統(tǒng)的轉換關系,以OpenGL仿真技術為手段,在Windows平臺上使用 Visual C+高級編程語言,實現(xiàn)衛(wèi)星在軌運行的三維可視化表達的程序。我們設計的程序的主要功能有:1. 顯示地球、衛(wèi)星和星空背景等空間對象運動變化過程。2. 動態(tài)顯示衛(wèi)星軌跡、覆蓋范圍等本身不可見對象。3. 視點變換和多場景的一致顯示。4. 在有條件的情況下,實現(xiàn)衛(wèi)星軌道的設計與變更、軌道預報。我們根據(jù)程序的主要功能將程序分為4個模塊:數(shù)據(jù)讀取和預處理、實體建模和運動建模、視景仿真驅動和三維顯示輸出。 圖1 程序總體框架圖(二)系統(tǒng)設計原則1.通用性和可擴展性3。為了
9、保證系統(tǒng)的通用性和便于對系統(tǒng)進行擴展和完善,采用面向對象程序設計方法;采用類和動態(tài)鏈接庫(DLL)進行模塊化設計。2.滿足實時動態(tài)的仿真要求3。為滿足系統(tǒng)實時性,仿真算法、數(shù)據(jù)通訊等要求達到一定速度。3.結構化、標準化、可擴展的輸入輸出方式3。4.良好的人機交互功能3。采用OpenGL技術顯示衛(wèi)星軌道,使畫面清晰、直觀;允許用戶隨時查詢、修改和保存數(shù)據(jù);允許同時打開多個仿真窗口,可以同時對多個方案進行仿真和比較,進行分析,也可以對同一方案的不同運行階段同時進行仿真和比較。5.數(shù)據(jù)快速的交互能力3。三、基本理論(一)OpenGL仿真技術OpenGL(Open Graphics Library)是
10、美國高級圖形和高性能計算機系統(tǒng)公司(SGI)開發(fā)的一套計算機圖形處理系統(tǒng),是圖形硬件的軟件接口。由于OpenGL的優(yōu)越性能,目前OpenGL已被認為是高性能圖形和交互式視景處理的標準4。利用OpenGL實現(xiàn)三維動畫的基本步驟如下:1.建模要實現(xiàn)三維動畫, 首先在三維用戶坐標系中建立運動物體的三維模型, 對于復雜的三維動畫還要建立運動物體周圍的三維場景。三維模型通常采用點( Point) 、線( Line) 和多邊形( Polygon) 等元素建立。在OpenGL 中可以利用函數(shù)glBegin()和glEnd()指明一個幾何元素的定義開始和結束,用glVertex3*()、glNormal3*(
11、)和glColor3*()分別指明頂點、法向量和顏色。2.渲染渲染包括消隱、光照、材質、紋理映射等方面。消隱就是消除被遮擋的不可見的線或面, 得到具有真實感的圖形。在OpenGL 中, 消隱是通過深度測試實現(xiàn)的。消除深度緩存用函數(shù)glClear()實現(xiàn), 啟動深度緩存分別用函數(shù)glEnable ()實現(xiàn)。為了使模型具有真實感, 必須進行光照處理, 使模型表現(xiàn)出明暗效果。通常, 光源從顏色、位置、方向等方面刻畫。光源用函數(shù)glLight*()定義, 啟動光照和光源都可以使用函數(shù)glEnable()實現(xiàn)。在光照下, 對模型進行明暗處理, 模型就表現(xiàn)出明暗效果。在OpenGL 中, 用單一顏色處理的
12、稱為平面明暗處理, 用許多不同顏色處理的稱為光滑明暗處理。設置明暗處理模式的函數(shù)為glShadeModel()。OpenGL 用材料對光的紅、綠、藍三原色的反射率來近似定義材料的顏色,定義材質用函數(shù)glMaterial*( ) 實現(xiàn)。物體的表面一般表現(xiàn)出一定的紋理, 在模型渲染中紋理映射也是比較重要的一方面。3.圖形變換圖形變換是三維動畫實現(xiàn)的關鍵一步, 只有通過圖形變換,三維物體模型才能表現(xiàn)出運動效果。實現(xiàn)物體運動, 通常要用到平移變換、旋轉變換、縮放變換等, 這些變換分別用函數(shù)glTranslate*()、glRotate*()、glScale*()實現(xiàn)。而且三維動畫要在屏幕上顯示出來,
13、還需要進行透視投影變換、裁剪變換、視口變換。這些變換分別用函數(shù)gluPerspective()、glClipPlane()、glViewport()實現(xiàn)。圖形變換通常要用到矩陣堆棧操作。4.交換幀緩存為了提高動畫輸出效率, OpenGL 采用了雙緩存技術, 用函數(shù)SwapBuffers()實現(xiàn)交換幀緩存。(二)時間系統(tǒng)和標志法常用時間系統(tǒng)及轉換關系:1.世界時UT格林尼治零子午線處的民用時稱為世界時,北京時間減去8小時即得到世界時。世界時系統(tǒng)是以地球自轉為基礎的,為了彌補極移現(xiàn)象和地球自轉速度的不均勻性造成的缺陷,需要在世界時UT中引入極移改正和地球自轉速度的季節(jié)性改正 Ts。由此得到的世界時
14、分別稱為UT1和UT2。未經(jīng)改正的世界時則用UT0表示。三者關系如下:l D UT1=UT0+ (1) UT2=UT0+ Ts (2)、 Ts的值國際地球自傳服務區(qū)(IERS)會給出。2.國際原子時TAI以原子能級躍遷輻射頻率定義的標準時間單位,取1958年1月1日世界時零時為其起算點。國際原子時(TAI)與UT1有如下關系: (UT1-TAI)1958.0=+0.0039s (3) 3.地球力學時TT在天文學中,天體的星歷是要根據(jù)天體力學中的運動方程計算的,在這些天體運動方程中,時間是一個獨立變量,被定義為力學時。地球力學時取原子時的秒為其秒長,故它是一個均勻的時間系統(tǒng)。地球力學時TT和國際
15、原子時TAI有如下關系: TT=TAI+32.184s (4)時間標志法:時間標示法是指表示時間的方法。它有別于時間系統(tǒng)的概念,而是建立在時間系統(tǒng)上的時間表達方式。常用的時間標示法有:歷法(即通用時)、儒略日及約化儒略日等1。歷法符合人們的生產(chǎn)生活習慣,但不適合于科學計算。而儒略日(JD)則是一種采用連續(xù)數(shù)值標志時間的方法。它是這樣定義的:從公元前4713年1月1日12時開始計算的天數(shù)。這種標志方法非常適合科學計算,并可以很方便的將不同的時間標志法聯(lián)系起來。然而用儒略日標志的現(xiàn)今時間數(shù)值很大,甚至連計算機都無法精確的表示。為了解決這一問題,1973年國際上提出了約化儒略日(MJD)時間標志法,
16、即從儒略日中減去2400000.5天。(三)坐標系統(tǒng)空間坐標系分為兩大類:一類是地球坐標系,該坐標是一種非慣性坐標,是固結在地球上的,隨地球一起旋轉,又稱地固坐標系,如地心大地坐標系、地球固連坐標系;另一類是天球坐標系,該坐標系與地球自轉無關,可以建立慣性坐標系,用此坐標系可以方便的描述航天器軌道,如地心天球坐標系。1.天球赤道坐標系天球赤道坐標系的三個坐標是(r, , )。r為地心到空間某點N的距離;在赤道面內,為春分點向東到N點的矢徑在赤道面上投影的角距,通常稱為赤經(jīng);為N點的矢徑與赤道面的夾角,向北為正,通常稱為赤緯。圖2 天球赤道坐標系 2.地球坐標系 地球坐標系是與地球固連在一起,建
17、立在地球或地球參考橢球之上的坐標系。地球空間直角坐標系(這里實際上指瞬時真地球坐標系)的原點位于地心,Z軸和瞬時自轉軸重合,指向北,X軸指向經(jīng)度零點(即格林尼治子午線與赤道的交點),Y軸組成右手坐標系。(四)衛(wèi)星在軌坐標及其覆蓋區(qū)域的計算 衛(wèi)星在慣性空間的運動可以用6個經(jīng)典的軌道要素描述:半長軸a,偏心率e,右升交點赤經(jīng),軌道傾角i,近地點幅角,真近點角f。通過這6個軌道要素可以計算衛(wèi)星在慣性空間的位置矢量和速度矢量,如圖5。為了在三維場景中繪制衛(wèi)星的覆蓋區(qū)域,需要計算衛(wèi)星覆蓋邊界點的經(jīng)緯度坐標。當?shù)厍虮唤茷榍蝮w時,衛(wèi)星覆蓋區(qū)域是地球三維模型上的一個圓,如圖3所示。圖中Oe為地心,O 為衛(wèi)星
18、的星下點,過O 點的經(jīng)線與衛(wèi)星覆蓋圓交于P1 、P2 2 點, A 為覆蓋圓上一點。如圖3 所示,在球面三角形POA 中,有以下關系式:=2-1h1=90-1h2=90-2式中:1 ,2 分別為O 點和A 點的經(jīng)度;1 和2分別為O 點和A 點的地心緯度。 圖3 衛(wèi)星覆蓋區(qū)域 圖4 球面三角形解此球面三角形,可以得到如下關系式:由此式可以解出和l2,在解三角函數(shù)時要注意角度的象限, l2的范圍是0180,所以由第一個式子可直接解出,而的范圍是- 180180,所以要分別解出正弦和余弦值以確定象限。由0180變換,就可以求出覆蓋圓上各點的經(jīng)緯度坐標。 圖5 衛(wèi)星軌道根數(shù)示意圖四、研究過程(一)形
19、體建模我們運用OpenGL仿真技術,在Visual Studio上運用C+高級編程語言,來實現(xiàn)三維物體的形體建模。這里所說的形體建模不是單指物體幾何形狀的確定,而是要構造出一個比較逼真的形體,其中包括物體的材質屬性、光照、紋理等一些特性。1.星空我們在程序中用紋理貼圖的方式進行了星空的繪制,這樣繪制星空相對較為簡單,但圖像較為模糊,而且只能顯示部分星空。在對老師原有程序的改進上,我們根據(jù)星表的數(shù)據(jù),在假想的天球上,根據(jù)星體的視星等和赤經(jīng)赤緯,在對應的位置上繪制出相應亮度的星體,這樣繪制的星空更具有真實感,實現(xiàn)了對星空較好的仿真。2.地球地球的模型相對來說比較簡單。為了能在屏幕中看到地球,需要將
20、地球推入屏幕背后足夠的距離以便使我們可以看見全部的場景,所以我們首先用glTranslatef*()函數(shù)將當前點移入屏幕背后一定距離;然后我們用函數(shù)gluSphere*()繪制了一個球;因為用OpenGL進行紋理貼圖時,圖像的寬和高必須是2的n次方,所以我們選擇了一幅像素為2048*1024的地球位圖,然后我們用紋理映射函數(shù)glTexCoord2f*()及相應的一系列函數(shù)將地球位圖貼在了我們所繪制的球上。在貼紋理的過程中,我們發(fā)現(xiàn)紋理的方向與坐標軸的實際方向不符,然后我們利用glRotate*()函數(shù)使地球轉動相應角度,從而使地球方向與坐標軸方向對應。3.衛(wèi)星有兩種方法來建立衛(wèi)星模型,一是直接
21、在程序中用OpenGL來繪制衛(wèi)星模型,二是用3D制圖軟件繪制衛(wèi)星三維模型,然后將衛(wèi)星三維模型讀進程序。本程序中的衛(wèi)星模型是用第一種方法實現(xiàn)的。我們用3Dmax制作了一個衛(wèi)星模型,但沒有成功的把它讀進程序之中。4.太陽和光照這里我們將太陽簡化為一個球體,為了使其看起來逼真,我們將一個光暈的位圖貼到中心與太陽中心重合的正方形上。為了給地球和其他物體提供光照,本程序將一個輻射白光的點光源設置在太陽的中心位置。 圖5 太陽模型效果圖(二)數(shù)據(jù)源程序所采用的數(shù)據(jù)源主要有兩種:軌道根數(shù)數(shù)據(jù)和依巴谷星表。依巴谷星表是歐洲空間局(簡稱ESA)依巴谷天體測量衛(wèi)星(Hipparcos)計劃的主要成果。依巴谷衛(wèi)星由
22、歐洲空間局于1989年8月發(fā)射升空,1993年8月完成歷史使命,觀測壽命為4年,用以測量恒星視差和自行,以古希臘天文學家喜帕恰斯的名字命名。其中在1989年11月至1993年3月共40個月期間,衛(wèi)星觀測得到了高質量的科學資料。利用喜帕恰斯衛(wèi)星的測量數(shù)據(jù)發(fā)布了依巴谷星表. 圖6 星表數(shù)據(jù)示例(三)動畫的實現(xiàn)計算機動畫是采用計算機技術,以一定的速率連續(xù)播放的由計算生成的靜態(tài)離散畫面(幀) ,利用人眼的視覺殘留特性,這些畫面序列在人眼的視網(wǎng)膜上形成了連續(xù)運動圖像。在Windows 編程模型中實現(xiàn)動畫效果的基本思路是每次以不同卻連續(xù)的圖像刷新顯示視窗。OpenGL采用了雙緩存技術,OpenGL在繪圖之
23、前,事先分配了兩塊緩存區(qū)域,即前臺緩存和后臺緩存:后臺緩存用來計算場景、生成畫面;前臺緩存用來顯示后臺緩存已畫好的畫面。當顯示完一幀緩存后,再將兩個緩存區(qū)進行交換,不斷重復上述工作就實現(xiàn)了畫面的更新,也就實現(xiàn)了動畫。五、科研成果(一)軟件功能及運行效果該軟件可以模擬從宇宙中某一視角觀察地球、太陽和衛(wèi)星的運行狀態(tài),畫面清晰,仿真效果良好。圖7 軟件界面(二)原有軟件添加星表數(shù)據(jù)后的運行效果圖7 原有軟件界面參考文獻:【1】杜玉軍著:衛(wèi)星軌道的三維可視化程序設計,武漢大學,2008?!?】吳家鑄,黨崗,劉華鋒等著:視景仿真技術及應用,西安:電子科技大學出版社,2001?!?】薛國凡,孫卿,徐明毅,王乘著:衛(wèi)星可視化仿真與跟蹤概論,華中科技大學,2004?!?】OpenGL圖形編程EB/OL.中國游戲開發(fā)者網(wǎng)站,【5】任民宏著:利用OpenGL實現(xiàn)三維動畫,陜西理工學院計算機科學與技術系,2007?!?】D. Shreiner & M. Woo & J. Neider & T .Davis. “OpenGL Programming Guide”, America: Addition Welsey,2008.【7】王威,于志堅著
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海報設計合同模板
- 家庭雇傭保姆合同樣式參考
- 2024獨家原創(chuàng)企業(yè)績效合同簽定儀式領導講話稿
- 2024租賃辦公室合同范本
- 個人教育助學貸款
- 購房借款協(xié)議2024年
- 籃球訓練合作協(xié)議范本
- 房產(chǎn)代理合同租賃
- 個人消費借款合同范本
- 提升機租賃合同樣本格式
- 數(shù)據(jù)分析師歷年考試真題試題庫(含答案)
- 心房顫動與認知功能障礙發(fā)生機制研究進展
- 2024年全國教育大會精神全文課件
- 2024年江蘇省高考化學試卷(含答案解析)
- 廣東省珠海市2023-2024學年六年級上學期數(shù)學期中試卷(含答案)
- 2024~2025學年高二地理期中考試模擬試卷【人教版選擇性必修一第一至三章】
- 2023年中國鐵塔招聘考試真題
- 人教版(2024新版)七年級上冊英語Unit 3 單元測試卷(筆試部分)(含答案)
- 江蘇省南京市六校聯(lián)考2024-2025學年高一上學期期中考試英語試卷(含答案含聽力原文無音頻)
- 2024年海南省發(fā)展控股限公司子公司招聘11人高頻難、易錯點500題模擬試題附帶答案詳解
- 小學心理健康教育課件《放飛煩惱-擁抱快樂》
評論
0/150
提交評論