




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、太陽系行星運(yùn)行模擬組員:2011年9月2日概述太陽系 (Solar System)就是我們現(xiàn)在所在的恒星系統(tǒng)。它是以太陽為中心,和所有受 到太陽引力約束的天體的集合體:8顆行星冥王星已被開除、至少165顆已知的衛(wèi)星,和數(shù)以億計(jì)的太陽系小天體.這些小天體包括小行星、柯伊伯帶的天體、彗星和星際塵埃。廣義 上,太陽系的領(lǐng)域包括太陽、4顆像地球的內(nèi)行星、由許多小巖石組成的小行星帶、4顆充滿氣體的巨大外行星、充滿冰凍小巖石、被稱為柯伊伯帶的第二個(gè)小天體區(qū)。在柯伊伯帶之外還有黃道離散盤面、太陽圈和依然屬于假設(shè)的奧爾特云。模擬太陽系不僅僅是完成作業(yè),也能讓我們更近一步的了解太陽系,拓廣知識面,對行星的運(yùn)行有
2、基本的感性和理性感知。增加我們對宇宙探索的渴望,可能培養(yǎng)出又一批天文學(xué)家。OpenGL(全寫Open Graphics Library )是個(gè)定義了一個(gè)跨編程語言、跨平臺(tái)的編程接口的規(guī)格,它用于三維圖象(二維的亦可)。OpenGL是個(gè)專業(yè)的圖形程序接口,是一個(gè)功能強(qiáng)大,調(diào)用方便的底層圖形庫。OpenGL是一個(gè)開放的三維圖形軟件包,它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺(tái)間移植;OpenGL可以與Visual C+緊密接口便于實(shí)現(xiàn)機(jī)械手的有關(guān)計(jì)算和圖形算法,可保證算法的正確性和可靠性;OpenGL使用簡便,效率高.它具有七大功能:1.建模:OpenGL圖形庫除
3、了提供基本的點(diǎn)、線、多邊形的繪制函數(shù)外,還提供了復(fù)雜的三維物體(球、錐、多面體、茶壺等)以及復(fù)雜曲線和曲面繪制函數(shù)。2.變換:OpenGL圖形庫的變換包括基本變換和投影變換?;咀儞Q有平移、旋轉(zhuǎn)、變比鏡像 四種變換,投影變換有平行投影(又稱正射投影)和透視投影兩種變換。其變換方法有利于減少算法的運(yùn)行時(shí)間,提高三維圖形的顯示速度。3。顏色模式設(shè)置:OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Colo門ndex ) .4。光照和材質(zhì)和鏡面光 (SpecularLight).材質(zhì)是用光反射率來表示。場景(Scene)中物體最終反映到人眼的顏色是光的紅綠藍(lán)分量與材質(zhì)紅綠藍(lán)分量的反射率相乘后形
4、成的顏色。5:紋理映射(Texture Mapping).利用OpenGL紋理映射功能可以十分逼真地表達(dá)物體表面細(xì)節(jié)。6:位圖顯示和圖象增強(qiáng)圖象功能除了基本的拷貝和像素讀寫外,還提供融合(Blending)、反走樣(Antialiasing )和霧(fog)的特殊圖象效果處理。以上三條可使被仿真物更具真實(shí)感,增強(qiáng)圖形顯示的效果.7:雙緩存動(dòng)畫(Double Buffering)雙緩存即前臺(tái)緩存和后臺(tái)緩存,簡言之,后臺(tái)緩存計(jì)算場 景、生成畫面,前臺(tái)緩存顯示后臺(tái)緩存已畫好的畫面。此外,利用OpenGL還能實(shí)現(xiàn)深度暗示(Depth Cue)、運(yùn)動(dòng)模糊(Motion Blur)等特殊效果。從而實(shí)現(xiàn)了消
5、隱算法。具體實(shí)現(xiàn)利用VC6。0和OpenGL繪制太陽系模擬,以最簡單的方式,新建一個(gè)Win32 consoleapplication ,加入以下代碼: # includewindows 。 h>#include <stdio.h># include <stdlib.h># include "gl/glut.h"/行星GLfloat rot0 = 30 。 0;GLfloat roti = 0.0;GLfloat rot2 = 0.0;GLfloat rot3 = 0.0 ;GLfloat rot4 = 0.0 ;GLfloat rot5 = 0
6、。0;GLfloat rot6 = 0.0 ;GLfloat rot7 = 0.0;GLfloat rot8 = 0.0 ;/衛(wèi)星GLfloat rot9 = 0。0;GLfloat rot10 = 0 。 0;GLfloat rot11 = 0.0 ;void init()glClearC010r(0。 0,0.0,0。0,0.0);glClearDepth (1。0);glShadeModel(GL_FLAT );void display( )glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f(1 。 0, 1.0,1。
7、0);glLoadIdentity ();/gluLookAt (0, 10,10, 0,0, 0, 0,1,0);/glRotatef(45.0 , 0。0,0。0, 1.0);glTranslatef(0。0,0。0,-20。0);glRotatef(90.0,1.0,0.0 , 0);glPushMatrix ();繪制太陽glColor3f(1 。 0,0.0,0.0);glutSolidSphere(2。0, 32,32);繪制地球glPushMatrix ();glColor3f(0。0, 0。0, 1。0);/繪制輔助軌道glRotatef(90 , 1。0,0, 0.0);gl
8、utSolidTorus(0。02, 5。0, 10, 64);glRotatef (90,1.0, 0,0.0);/設(shè)置地球公轉(zhuǎn)速度glRotatef(rot0,0。0,1。0,0。0);/設(shè)置地球半徑glTranslatef(5。0, 0.0,0.0);/設(shè)置地球自轉(zhuǎn)速度/glRotatef (rot1,0.0, 1。0,0。0);/繪制地球glutSolidSphere/繪制地球的衛(wèi)星-月亮glColor3f(0.5,0 。 6, 0.5);/抵消地球自轉(zhuǎn)影響/glRotatef( rot1 , 0.0,1.0,0.0);/繪制輔助軌道glRotatef (90,1.0, 0,0.0);
9、glRotatef (-90,1。0, 0, 0.0);/設(shè)置月亮公轉(zhuǎn)速度glRotatef(rot9,0.0 , 1。0, 0。0);/設(shè)置月亮公轉(zhuǎn)半徑glTranslatef(0.6 , 0.0, 0.0);/繪制月亮glutSolidSphere (0。1,10, 8);glPopMatrix();/繪制水星glPushMatrix ();glColor3f(0.0 , 1.0,1。0);/繪制輔助軌道glRotatef(90,1。0,0,0.0);glutSolidTorus (0。02, 2。5,10,64);glRotatef(-90, 1。0,0, 0。0);/設(shè)置水星公轉(zhuǎn)速度g
10、lRotatef(rot1 , 0.0,1.0,0。0);/設(shè)置水星公轉(zhuǎn)半徑glTranslatef (2。5, 0。0, 0。0);/設(shè)置水星自傳glRotatef (rot3, 0。0,1。0,0。0);/繪制水星glutSolidSphere (0。2,32, 32);glPopMatrix ();繪制金星glPushMatrix ();glColor3f(0。0, 1.0, 0。0);繪制輔助軌道glRotatef (90,1.0,0,0.0);glutSolidTorus(0。02, 3.4, 10, 64);glRotatef(-90, 1。0, 0,0。0);/設(shè)置金星公轉(zhuǎn)速度g
11、lRotatef(rot2,0.0 , 3。0, 0。0);/設(shè)置金星公轉(zhuǎn)半徑glTranslatef(3。4, 0.0, 0.0);/設(shè)置金星自傳glRotatef (rot0, 0。0,1。0,0。0);/繪制金星glutSolidSphere(0。3, 32, 32); glPopMatrix();繪制火星glPushMatrix();glColor3f (1。0,0。0,0.0);繪制輔助軌道glRotatef (90, 1。0,0,0。0);glutSolidTorus(0.02, 6。6, 10, 64);glRotatef(-90, 1.0,0, 0。0);/設(shè)置火星公轉(zhuǎn)速度gl
12、Rotatef (rot3,0.0,4.0, 0.0);/設(shè)置火星公轉(zhuǎn)半徑glTranslatef (6。6, 0。0, 0。0);/設(shè)置火星自傳glRotatef(rot7,0.0,2.0,0.0 );/繪制火星glutSolidSphere (0。5, 32,32);glPopMatrix ();繪制木星glPushMatrix ();glColor3f(2。0,0。1, 1。0);繪制輔助軌道glRotatef(90,1.0,0,0.0 );glutSolidTorus (0.02, 8.5, 10, 64);glRotatef(-90 , 1。0,0,0.0);/設(shè)置木星公轉(zhuǎn)速度glR
13、otatef (rot4,0.0,0.4, 0。0);/設(shè)置木星公轉(zhuǎn)半徑glTranslatef (8.5, 0.0,0。0);/設(shè)置木星自傳glRotatef (rot3,0.0, 0。3,0.0);/繪制木星glutSolidSphere (1。0,32, 32);/繪制木星衛(wèi)星-木衛(wèi)1glColor3f (0.4,0。3, 0。5);/抵消地球自轉(zhuǎn)影響glRotatef( rot1,0。0, 1.0, 0.0);/繪制輔助軌道glRotatef(90 , 1。0,0,0.0);glRotatef (-90, 1。0,0, 0。0);/設(shè)置木衛(wèi)1公轉(zhuǎn)速度glRotatef (rot10,0
14、。0, 1.0,0。0);/設(shè)置木衛(wèi)1公轉(zhuǎn)半徑 glTranslatef(1.3,0。0,0。0);/繪制木衛(wèi)1glutSolidSphere (0。1, 10, 8);/繪制木星衛(wèi)星-木衛(wèi)2 glColor3f(0。5f, 0。5f, 0.5f);/抵消地球自轉(zhuǎn)影響/glRotatef (rot1,0。0,1.0,0.0);/繪制輔助軌道glRotatef(90 , 1。0,0, 0。0);glRotatef (-90, 1。0, 0, 0.0);/設(shè)置木衛(wèi)2公轉(zhuǎn)速度glRotatef(rot11 , 0。0,1.0, 0.0);/設(shè)置木衛(wèi)2公轉(zhuǎn)半徑glTranslatef(1.2 , 0。
15、0, 0。0);/繪制木衛(wèi)2glutSolidSphere (0.08, 10, 8);glPopMatrix();繪制土星glPushMatrix();glColor3f (1.0f,1.0f, 0。0f);繪制輔助軌道glRotatef(90 , 1。0,0,0。0);glutSolidTorus (0。02,12。5, 10, 64);glRotatef(-90 , 1。0, 0,0.0);/設(shè)置土星公轉(zhuǎn)速度glRotatef (rot5, 0。0,0。4, 0。0);/設(shè)置土星公轉(zhuǎn)半徑glTranslatef(12。5, 0.0, 0。0);/設(shè)置土星自傳glRotatef(rot3
16、, 0.0,0.3,0。0);/繪制土星glutSolidSphere (0.85, 32, 32);繪制土星光環(huán)glRotatef(90,1.0,0,0。0);glutSolidTorus(0。1,1.25, 10, 64);glRotatef (-90,1。0,0,0。0);glRotatef(90 , 1.0,0, 0.0);glutSolidTorus(0。 07, 1。65, 10, 64);glRotatef (90,1.0,0, 0.0);glPopMatrix ();glPopMatrix ( );繪制天王星glPushMatrix();glColor3f(0。0f,1。0f,
17、 1.0f);繪制輔助軌道glRotatef(90 , 1。0,0,0.0);glutSolidTorus (0。02, 15。5, 10, 64);glRotatef (90, 1.0, 0,0.0);/設(shè)置天王星公轉(zhuǎn)速度glRotatef(rot6 , 0.0, 0.4,0.0);/設(shè)置天王星公轉(zhuǎn)半徑glTranslatef(15。5, 0.0,0.0);/設(shè)置天王星自傳glRotatef(rot1 , 0。0, 0。3,0.0);/繪制天王星glutSolidSphere (0。15,32,32);glPopMatrix ();繪制海王星glPushMatrix();glColor3f(
18、0 。 0f, 0。0, 8.0f);繪制輔助軌道glRotatef (90, 1.0,0, 0。0);glutSolidTorus (0.02, 17.5,10,64);glRotatef (-90, 1.0, 0,0。0);/設(shè)置海王星公轉(zhuǎn)速度glRotatef (rot7, 0.0, 0.4, 0。0);/設(shè)置海王星公轉(zhuǎn)半徑glTranslatef (17。5,0。0,0.0);/設(shè)置海王星自傳glRotatef (rot3, 0。0,0.3, 0。0);/繪制海王星glutSolidSphere (0.145, 32,32);glPopMatrix();繪制冥王星glPushMatri
19、x();glColor3f(0 。 5f, 0.5f, 0。5f);繪制輔助軌道glRotatef(90 , 1。0, 0, 0.0);glutSolidTorus(0.02, 19.5 , 10, 64);glRotatef (-90,1。0,0, 0。0);/設(shè)置冥王星公轉(zhuǎn)速度glRotatef (rot8, 0.0, 0.4,0。0);/設(shè)置冥王星公轉(zhuǎn)半徑glTranslatef (19.5,0.0,0。0);/設(shè)置冥王星自傳glRotatef(rot2,0。0,0。3,0。0);/繪制冥王星glutSolidSphere (0。145,32, 32);glPopMatrix();glu
20、tSwapBuffers ();glFlush();void idle()rot0+=0。1;if(rot0 > =360.0)rot0 =360。0;rot1+=0.416 ;if (rot1>=360.0 )rot1=360。0;rot2+=0。1631;if(rot2 > =360.0)rot2-=360。0;rot3+=0。053;if (rot3>=360。0)rot3-=360。0;rot4+=0.0083 ;if (rot4=360。0)rot4 =360。0;rot5+=0.0034;if(rot5>=360 。 0) rot5-=360.0 ;r
21、ot6+=0。00119;if (rot6>=360。0) rot6-=360。0;rot7+=0。00069;if (rot7>=360.0 )rot7 =360.0;rot8+=0 。 0008;if(rot8>=360 。 0)rot8 =360。0;rot9+=1。0;if(rot9>=360 。 0)rot9 =360。0;rot10+=0.005;if(rot10 > =360。0)rot10-=360.0;rot11+=0。01;if(rot11 > =360.0) rot11-=360.0;glutPostRedisplay (); void reshape(int w , int h)glViewport(0,0, (GLsizei)w, (GLsizei) h);glMatrixMode(GL_PROJECTION);glLoadldentity ();gluPerspective(60。0,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國水果糖行業(yè)市場發(fā)展分析及投資前景研究報(bào)告
- 2025-2030中國水家電行業(yè)供需趨勢及投資風(fēng)險(xiǎn)研究報(bào)告
- 2025-2030中國水利行業(yè)投資規(guī)模及未來競爭戰(zhàn)略規(guī)劃研究報(bào)告
- 2025-2030中國水產(chǎn)養(yǎng)殖溶氧儀行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報(bào)告
- 2025-2030中國氰胺溶液行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國氯化劑行業(yè)動(dòng)向追蹤及未來供應(yīng)平衡性分析研究報(bào)告
- 2025-2030中國氧化鈰鋯行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國氣泡果汁行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報(bào)告
- 2025-2030中國氣動(dòng)夾具行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國榨汁機(jī)行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃研究報(bào)告
- GB/T 7588.2-2020電梯制造與安裝安全規(guī)范第2部分:電梯部件的設(shè)計(jì)原則、計(jì)算和檢驗(yàn)
- GB/T 17457-2019球墨鑄鐵管和管件水泥砂漿內(nèi)襯
- 緊急采購申請單
- 小學(xué)道德與法治學(xué)科高級(一級)教師職稱考試試題(有答案)
- 復(fù)旦大學(xué)英語水平測試大綱9300詞匯表講義
- 最新青島版科學(xué)四年級上冊《溫度計(jì)的秘密》優(yōu)質(zhì)課件
- DB63-T 1675-2018+建筑消防設(shè)施維護(hù)保養(yǎng)技術(shù)規(guī)范
- 四年級上冊美術(shù)課件-第12課 精美的郵票 ▏人教新課標(biāo) ( ) (共21張PPT)
- 爐內(nèi)水處理磷酸鹽處理(PT)、磷酸鹽隱藏匯總課件
- 邊坡變形觀測報(bào)告
- 零星材料明細(xì)單
評論
0/150
提交評論