資源描述:
《《計(jì)算機(jī)圖形學(xué)》課程設(shè)計(jì)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、課題名稱:SolarSystem太陽(yáng)系學(xué)生姓名:曾睿學(xué)生學(xué)號(hào):0643111150《計(jì)算機(jī)圖形學(xué)》課程設(shè)計(jì)報(bào)告課題名稱:SolarSystem(大陽(yáng)系)課題負(fù)責(zé)人名(學(xué)號(hào)):曾睿(0643111150)同組成員名單(角色):曾睿(0643111150)指導(dǎo)教師:李征評(píng)閱成績(jī):評(píng)閱意見:提交報(bào)告時(shí)間:2008年12月17日-141-課題名稱:SolarSystem太陽(yáng)系學(xué)生姓名:曾睿學(xué)生學(xué)號(hào):0643111150SolarSystem(太陽(yáng)系)軟件工程專業(yè)學(xué)生曾睿指導(dǎo)老師李征[摘要]太陽(yáng)系(SolarSystem)是以太陽(yáng)為中心,和所有受到太陽(yáng)重力約
2、束的天體的集合體,主要包括太陽(yáng),八大行星,以及衛(wèi)星.此課題模擬太陽(yáng)系圍繞太陽(yáng)運(yùn)轉(zhuǎn)的模型,以太陽(yáng),八大行星和月球形成大致的體系結(jié)構(gòu),以VC6.0為平臺(tái)用OpenGL基礎(chǔ)知識(shí)實(shí)現(xiàn)從不同角度觀測(cè)太陽(yáng)系.關(guān)鍵詞:OpenGLVC6.0太陽(yáng)系運(yùn)轉(zhuǎn)角度-141-課題名稱:SolarSystem太陽(yáng)系學(xué)生姓名:曾睿學(xué)生學(xué)號(hào):0643111150一、實(shí)驗(yàn)名稱:SolarSystem(太陽(yáng)系)二、實(shí)驗(yàn)的目的和要求:1.熟悉OpenGL基礎(chǔ)函數(shù)2.通過(guò)程序模擬太陽(yáng)系運(yùn)行3.實(shí)現(xiàn)改變視角觀測(cè)太陽(yáng)系三、實(shí)驗(yàn)的環(huán)境:1.硬件環(huán)境:CPUIntelPentiumD,1G內(nèi)存2
3、.軟件環(huán)境:操作系統(tǒng):WindowsxpSP2編譯軟件及版本:vc6.0OpenGL環(huán)境四、系統(tǒng)描述1.太陽(yáng)太陽(yáng)是恒星,能夠自轉(zhuǎn),體積是太陽(yáng)系中最大的,能夠發(fā)光,處于太陽(yáng)系中心位置.2.八大行星八大行星按與太陽(yáng)距離從近到遠(yuǎn)分別為:水星,金星,地球,火星,木星,土星,天王星,海王星,各有各的大小,其中以木星最大,以各自不同的公轉(zhuǎn)速度繞太陽(yáng)運(yùn)行,并自轉(zhuǎn).3.月球-141-課題名稱:SolarSystem太陽(yáng)系學(xué)生姓名:曾睿學(xué)生學(xué)號(hào):0643111150月球是圍繞地球旋轉(zhuǎn)的衛(wèi)星.體積是系統(tǒng)中最小的,旋轉(zhuǎn)周期比較快。五.理論基礎(chǔ):用windowsapi創(chuàng)建
4、窗口,使用OpenGL繪制函數(shù)繪制球體,實(shí)現(xiàn)位圖文件讀取,并轉(zhuǎn)換為紋理,使用系統(tǒng)時(shí)間控制球體轉(zhuǎn)動(dòng),設(shè)置視點(diǎn)視角,通過(guò)改變視角從不同角度觀測(cè).所使用的計(jì)算機(jī)圖形學(xué)理論基礎(chǔ):1.3D管道中的幾何變換旋轉(zhuǎn)矩陣行向量為該矩陣坐標(biāo)系在原坐標(biāo)系上的坐標(biāo),列向量為原坐標(biāo)系的向量在本旋轉(zhuǎn)矩陣坐標(biāo)系上的坐標(biāo)。旋轉(zhuǎn)是歐氏變換;旋轉(zhuǎn)、放縮是線性變換;旋轉(zhuǎn)、放縮、平移是仿射變換;旋轉(zhuǎn)、放縮、平移、透視投影是射影變換。線性變換在四維空間,仿射變換在三維空間,射影必須采用攝像坐標(biāo)系,仿射變換是到自身的一類變換.齊次坐標(biāo)系就是將一個(gè)原本是n維的向量用一個(gè)n+1維向量來(lái)表示。實(shí)數(shù)
5、。顯然一個(gè)向量的齊次表示是不唯一的,齊次坐標(biāo)的h取不同的值都表示的是同一個(gè)點(diǎn),比如齊次坐標(biāo)[8,4,2]、[4,2,1]表示的都是二維點(diǎn)[2,1]。-141-課題名稱:SolarSystem太陽(yáng)系學(xué)生姓名:曾睿學(xué)生學(xué)號(hào):0643111150它提供了用矩陣運(yùn)算把二維、三維甚至高維空間中的一個(gè)點(diǎn)集從一個(gè)坐標(biāo)系變換到另一個(gè)坐標(biāo)系的有效方法。4維坐標(biāo)的旋轉(zhuǎn)到了3維坐標(biāo)就是平移.世界坐標(biāo)系描述了物體在空間的位置,角度在世界坐標(biāo)系中可以設(shè)定物體的位置,決定物體以什么方式進(jìn)行放置局部坐標(biāo)系描述了物體的形狀,大小,樣式等,可以在這一坐標(biāo)系中設(shè)定物體的形狀當(dāng)我們?cè)谔?/p>
6、擬場(chǎng)景中放置物體時(shí),必須將其從局部坐標(biāo)系轉(zhuǎn)換到世界坐標(biāo)系局部到世界的坐標(biāo)系轉(zhuǎn)換可以看做向量的轉(zhuǎn)化局部坐標(biāo)系到世界坐標(biāo)系:旋轉(zhuǎn),放縮,平移世界坐標(biāo)系到觀測(cè)坐標(biāo)系:平移,旋轉(zhuǎn)。透視投影,就是以中心投影為依據(jù)所作的透視圖象。正交投影將物體垂直的投影在屏幕上,在正交投影當(dāng)中,物體的大小不會(huì)隨著視口屏幕等參數(shù)的改變而變化。在正交投影中,三維物體的坐標(biāo)沿平行線投影到觀察平面上,它保持物體的有關(guān)比例不變。-141-課題名稱:SolarSystem太陽(yáng)系學(xué)生姓名:曾睿學(xué)生學(xué)號(hào):0643111150虛擬攝像機(jī)的內(nèi)部參數(shù)是指攝像機(jī)的幾何和光學(xué)參數(shù),包括焦距、縮放系數(shù)、
7、攝像機(jī)光軸和像平面的交點(diǎn),外部參數(shù)主要是指攝像機(jī)坐標(biāo)系與世界坐標(biāo)系的轉(zhuǎn)換矩陣.OPENGL中有Glulookat,Glperspective,Glmodelviewmatrix等函數(shù)可以完成對(duì)攝像機(jī)內(nèi)、外參數(shù)的指定.voidgluLookAt(GLdoubleeyex,GLdoubleeyey,GLdoubleeyez,GLdoublecenterx,GLdoublecentery,GLdoublecenterz,GLdoubleupx,GLdoubleupy,GLdoubleupz);eye=(eyex,eyey,eyez)是視點(diǎn)(原點(diǎn))的位置c
8、enter=(centerx,centery,centerz)是視口中心點(diǎn)的位置center-eye是z軸負(fù)方向z=(ey