




免費(fèi)預(yù)覽已結(jié)束,剩余6頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
太陽系行星運(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è),也能讓我們更近一步的了解太陽系,拓廣知識(shí)面,對(duì)行星的運(yùn)行有基本的感性和理性感知。增加我們對(duì)宇宙探索的渴望,可能培養(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圖形庫除了提供基本的點(diǎn)、線、多邊形的繪制函數(shù)外,還提供了復(fù)雜的三維物體(球、錐、多面體、茶壺等)以及復(fù)雜曲線和曲面繪制函數(shù)。 2.變換:OpenGL圖形庫的變換包括基本變換和投影變換。基本變換有平移、旋轉(zhuǎn)、變比鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投 影兩種變換。其變換方法有利于減少算法的運(yùn)行時(shí)間,提高三維圖形的顯示速度。 3.顏色模式設(shè)置:OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Color Index)。 4.光照和材質(zhì)和鏡面光(Specular Light)。材質(zhì)是用光反射率來表示。場景(Scene)中物體最終反映到人眼的顏色是光的紅綠藍(lán)分量與材質(zhì)紅綠藍(lán)分量的反射率相乘后形成的顏色。 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)了消隱算法。具體實(shí)現(xiàn)利用VC6.0和OpenGL繪制太陽系模擬,以最簡單的方式,新建一個(gè)win32 console application,加入以下代碼:#include #include #include #include gl/glut.h/行星GLfloat rot0 = 30.0;GLfloat rot1 = 0.0;GLfloat rot2 = 0.0;GLfloat rot3 = 0.0;GLfloat rot4 = 0.0;GLfloat rot5 = 0.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()glClearColor(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.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);glutSolidTorus(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(0.4,32,32);/ 繪制地球的衛(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);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)速度glRotatef(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)速度glRotatef(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)速度glRotatef(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)速度glRotatef(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.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)2glColor3f(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.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,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, 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(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();/繪制冥王星glPushMatrix();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();glutSwapBuffers();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;rot6+=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);glLoadIdentity();gluPerspective(60.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 村民族聯(lián)誼活動(dòng)方案
- 松門公司團(tuán)建活動(dòng)方案
- 景區(qū)迎亞運(yùn)活動(dòng)方案
- 村書記消薄競賽活動(dòng)方案
- 暑假感恩實(shí)踐活動(dòng)方案
- 服務(wù)禮儀月活動(dòng)方案
- 服裝貼牌公司策劃方案
- 暑期安全用電活動(dòng)方案
- 月末總結(jié)部門活動(dòng)方案
- 晚上小區(qū)推廣活動(dòng)方案
- 2025年安徽省中考生物試卷真題(含答案)
- 2024年中國陜西省煤炭工業(yè)行業(yè)調(diào)查研究報(bào)告
- 兩金占用管理制度
- 2025-2030年中國雙J輸尿管支架行業(yè)市場現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030中國豆腐產(chǎn)業(yè)消費(fèi)趨勢及未來發(fā)展預(yù)測分析報(bào)告
- 出國培訓(xùn)考試試題及答案
- 2024年中國中小企業(yè)融資發(fā)展報(bào)告
- 2023年10月全國高等教育自學(xué)考試《英語(二)》真題及答案
- 2025年高二語文下學(xué)期期末考試語言文字運(yùn)用專項(xiàng)練習(xí)含答案解析
- 2025解除勞動(dòng)合同協(xié)議書范本
- 湖南省永州市2025屆七下數(shù)學(xué)期末質(zhì)量檢測試題含解析
評(píng)論
0/150
提交評(píng)論