圖形學(xué)試驗報告四_第1頁
圖形學(xué)試驗報告四_第2頁
圖形學(xué)試驗報告四_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——圖形學(xué)試驗報告四

《計算機(jī)圖形學(xué)》試驗報告

詳細(xì)代碼:3414028995@.com

一、試驗?zāi)康?,使用opengl函數(shù)完成一個圖形動畫程序,顯示太陽、地球、月亮之間的運行關(guān)系。2,采用opengl材質(zhì)、光照技術(shù)完成一個在小盒內(nèi)的運動小球,要求小球作為移動光源,觀測運行效果。二、試驗要求1.把握Window圖形編程的基本方法;2.把握如何進(jìn)行簡單動畫制作3.把握如何采用opengl材質(zhì)、光照技術(shù)三、試驗設(shè)備(環(huán)境)Windows系統(tǒng),vs2023四、試驗步驟與結(jié)果1.使用opengl函數(shù)完成一個圖形動畫程序,顯示太陽、地球、月亮之間的運行關(guān)系。使用的一些函數(shù):glShadeModel(GL_FLAT);GL_FLAT則只是以指定的某一點的單一色繪制其他所有點glPushMatrix();//進(jìn)棧gluLookAt(0.0,0.0,5,0.0,0.0,0.0,0.0,1.0,0.0);//觀測角度glRotatef((GLfloat)year,0.0,1.0,0.0);//旋轉(zhuǎn),(GLfloat)year角度設(shè)置,0.0,1.0,0.0坐標(biāo)設(shè)置glTranslatef(2.0,0.0,0.0);//平移,后面代表坐標(biāo),沿著x正方向平移glPopMatrix();//出棧glutSwapBuffers();//實現(xiàn)雙緩沖glViewport(0,0,(GLsizei)w,(GLsizei)h);//矩形大小的調(diào)整運行截圖:完整代碼:#include\#include#defineGLUT_DISABLE_ATEXIT_HACK#includestaticfloatyear=0,day=0;voidinit(void){glClearColor(0.0,0.0,0.0,0.0);glShadeModel(GL_FLAT);//設(shè)定著色模式,使用圖元中某個頂點的顏色來渲染整個圖元。}voiddisplay(void){glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.0,1.0,0.0);glLoadIdentity();glPushMatrix();gluLookAt(0.0,0.0,5,0.0,0.0,0.0,0.0,1.0,0.0);//繪制太陽glRotatef((GLfloat)year,0.0,1.0,0.0);glutWireSphere(0.8,25,25);//繪制地球glRotatef((GLfloat)year,0.0,1.0,0.0);glTranslatef(2.0,0.0,0.0);glRotatef((GLfloat)day,0.0,1.0,0.0);glutWireSphere(0.2,20,20);//繪制月球glRotatef((GLfloat)year,0.0,1.0,0.0);glTranslatef(0.4,0.0,0.0);glRotatef((GLfloat)day,0.0,1.0,0.0);glutWireSphere(0.1,15,15);//glutWireCube(2.0);glPopMatrix();glutSwapBuffers();}voidspinDisplay(void){year=year+0.03;if(year>360.0){year=year-360.0;}}day=day+0.06;if(day>360.0){day=day-360.0;}glutPostRedisplay();voidreshape(intw,inth){glViewport(0,0,(GLsizei)w,(GLsizei)h);//函數(shù)作用:用一個視景體截取圖像//glFrustum(-1.0,1.0,-1.0,1.0,-1.0,1.0);glMatrixMode(GL_PROJECTION);//mode指定哪一個矩陣堆棧是下一個矩陣操作的目標(biāo),參數(shù)表示接下來要進(jìn)行投影相關(guān)的操作glLoadIdentity();//設(shè)置當(dāng)前變化矩陣為單位矩陣;單位矩陣就是對角線上都是1,其余元素皆為0的矩陣。然后復(fù)位//glOrtho(-3.0,3.0,-3.0,3.0,-3.0,3.0);glFrustum(-1.0,1.0,-1.0,1.0,1.5,20);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論