




免費(fèi)預(yù)覽已結(jié)束,剩余6頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
太陽(yáng)系行星運(yùn)行模擬組員: 2011年9月2日概述太陽(yáng)系 (Solar System)就是我們現(xiàn)在所在的恒星系統(tǒng)。它是以太陽(yáng)為中心,和所有受到太陽(yáng)引力約束的天體的集合體:8顆行星冥王星已被開除、至少165顆已知的衛(wèi)星,和數(shù)以億計(jì)的太陽(yáng)系小天體。這些小天體包括小行星、柯伊伯帶的天體、彗星和星際塵埃。廣義上,太陽(yáng)系的領(lǐng)域包括太陽(yáng)、4顆像地球的內(nèi)行星、由許多小巖石組成的小行星帶、4顆充滿氣體的巨大外行星、充滿冰凍小巖石、被稱為柯伊伯帶的第二個(gè)小天體區(qū)。在柯伊伯帶之外還有黃道離散盤面、太陽(yáng)圈和依然屬于假設(shè)的奧爾特云。模擬太陽(yáng)系不僅僅是完成作業(yè),也能讓我們更近一步的了解太陽(yáng)系,拓廣知識(shí)面,對(duì)行星的運(yùn)行有基本的感性和理性感知。增加我們對(duì)宇宙探索的渴望,可能培養(yǎng)出又一批天文學(xué)家。 OpenGL(全寫Open Graphics Library)是個(gè)定義了一個(gè)跨編程語(yǔ)言、跨平臺(tái)的編程接口的規(guī)格,它用于三維圖象(二維的亦可)。OpenGL是個(gè)專業(yè)的圖形程序接口,是一個(gè)功能強(qiáng)大,調(diào)用方便的底層圖形庫(kù)。OpenGL是一個(gè)開放的三維圖形軟件包,它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺(tái)間移植;OpenGL可以與Visual C+緊密接口,便于實(shí)現(xiàn)機(jī)械手的有關(guān)計(jì)算和圖形算法,可保證算法的正確性和可靠性;OpenGL使用簡(jiǎn)便,效率高。它具有七大功能: 1.建模:OpenGL圖形庫(kù)除了提供基本的點(diǎn)、線、多邊形的繪制函數(shù)外,還提供了復(fù)雜的三維物體(球、錐、多面體、茶壺等)以及復(fù)雜曲線和曲面繪制函數(shù)。 2.變換:OpenGL圖形庫(kù)的變換包括基本變換和投影變換?;咀儞Q有平移、旋轉(zhuǎn)、變比鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投 影兩種變換。其變換方法有利于減少算法的運(yùn)行時(shí)間,提高三維圖形的顯示速度。 3.顏色模式設(shè)置:OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Color Index)。 4.光照和材質(zhì)和鏡面光(Specular Light)。材質(zhì)是用光反射率來(lái)表示。場(chǎng)景(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)緩存,簡(jiǎn)言之,后臺(tái)緩存計(jì)算場(chǎng)景、生成畫面,前臺(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繪制太陽(yáng)系模擬,以最簡(jiǎn)單的方式,新建一個(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();/繪制太陽(yáng)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券經(jīng)紀(jì)業(yè)務(wù)合規(guī)文化建設(shè)考核試卷
- 硅冶煉廠的安全文化建設(shè)考核試卷
- 質(zhì)檢技術(shù)在電子產(chǎn)品銷售中的應(yīng)用考核試卷
- 礦山企業(yè)經(jīng)營(yíng)管理考核試卷
- 電子運(yùn)動(dòng)數(shù)據(jù)分析平臺(tái)市場(chǎng)前景預(yù)測(cè)考核試卷
- 電力設(shè)備絕緣性能檢測(cè)與評(píng)估方法考核試卷
- 跨國(guó)婚姻與家庭法律問題考核試卷
- 谷物磨制企業(yè)產(chǎn)品創(chuàng)新與研發(fā)管理考核試卷
- 聚吡咯烷酮纖維制造考核試卷
- 校園食品安全培訓(xùn)
- 2025羽毛球場(chǎng)館租賃合同
- (二模)貴陽(yáng)市2025年高三年級(jí)適應(yīng)性考試(二)英語(yǔ)試卷(含答案)
- 河南省安陽(yáng)市新鄉(xiāng)市2025屆高三三模語(yǔ)文試題(含答案)
- 2025-2030中國(guó)無(wú)損檢測(cè)(NDT)行業(yè)發(fā)展現(xiàn)狀與前景預(yù)測(cè)研究報(bào)告
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園協(xié)議合同
- GB/T 196-2025普通螺紋基本尺寸
- 城市社區(qū)多元主體協(xié)同治理的體系構(gòu)建研究
- 2024-2025學(xué)年陜旅版(三起)小學(xué)英語(yǔ)五年級(jí)下冊(cè)(全冊(cè))知識(shí)點(diǎn)歸納
- 《一榀框架的結(jié)構(gòu)計(jì)算和設(shè)計(jì)21000字(論文)》
- 應(yīng)急預(yù)案定期評(píng)估制度
- 《C語(yǔ)言程序設(shè)計(jì)》教學(xué)設(shè)計(jì) 項(xiàng)目八北京冬奧會(huì)獎(jiǎng)牌榜指針
評(píng)論
0/150
提交評(píng)論