正交投影 (圖形學(xué))_第1頁
正交投影 (圖形學(xué))_第2頁
正交投影 (圖形學(xué))_第3頁
正交投影 (圖形學(xué))_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、太原工業(yè)學(xué)院計(jì)算機(jī)工程系實(shí) 驗(yàn) 報 告課程名稱計(jì)算機(jī)圖形學(xué)班級實(shí)驗(yàn)日期2014/5/19姓 名學(xué)號實(shí)驗(yàn)成績實(shí)驗(yàn)名稱正交投影算法 實(shí)驗(yàn)?zāi)康募耙? 學(xué)習(xí)立方體的幾何模型;2 學(xué)習(xí)了解正交投影變換矩陣;3 熟悉立方體線框模型繪制方法。實(shí)驗(yàn)環(huán)境VC+6.0實(shí)驗(yàn)內(nèi)容在屏幕客戶區(qū)中心繪制立方體的二維正交投影線框圖,通過工具欄的“動畫”圖標(biāo)按鈕旋轉(zhuǎn)立方體算法描述及實(shí)驗(yàn)步驟1、 讀入立方體的8個頂點(diǎn)構(gòu)成的頂點(diǎn)表與6個表面構(gòu)成的表面表;2、 使用正交投影矩陣在屏幕坐標(biāo)系內(nèi)繪制立方體的正投影,也即將立方體的z坐標(biāo)取為零繪制其二維投影;3、 設(shè)計(jì)三維幾何變換類CTransform,使用類對象旋轉(zhuǎn)立方體;4、 使用

2、雙緩沖技術(shù)繪制立方體旋轉(zhuǎn)動畫。調(diào)試過程及實(shí)驗(yàn)結(jié)果總結(jié)1. 會繪制立方體線框模型;2. 掌握了立方體二維正交投影圖的繪制、旋轉(zhuǎn)方法。附錄 1、 立方體點(diǎn)表void CTestView:ReadPoint()/點(diǎn)表/頂點(diǎn)的三維坐標(biāo)(x,y,z),立方體邊長為2adouble a=150;P0.x=-a;P0.y=-a;P0.z=-a;P1.x=+a;P1.y=-a;P1.z=-a;P2.x=+a;P2.y=+a;P2.z=-a;P3.x=-a;P3.y=+a;P3.z=-a;P4.x=-a;P4.y=-a;P4.z=+a;P5.x=+a;P5.y=-a;P5.z=+a;P6.x=+a;P6.y=+

3、a;P6.z=+a;P7.x=-a;P7.y=+a;P7.z=+a;2、 立方體面表void CTestView:ReadFace()/面表/面的頂點(diǎn)數(shù)和面的頂點(diǎn)索引F0.SetNum(4);F0.vI0=4;F0.vI1=5;F0.vI2=6;F0.vI3=7;/前面F1.SetNum(4);F1.vI0=0;F1.vI1=3;F1.vI2=2;F1.vI3=1;/后面F2.SetNum(4);F2.vI0=0;F2.vI1=4;F2.vI2=7;F2.vI3=3;/左面F3.SetNum(4);F3.vI0=1;F3.vI1=2;F3.vI2=6;F3.vI3=5;/右面F4.SetNum

4、(4);F4.vI0=2;F4.vI1=3;F4.vI2=7;F4.vI3=6;/頂面F5.SetNum(4);F5.vI0=0;F5.vI1=1;F5.vI2=5;F5.vI3=4;/底面3、 繪制立方體線框模型void CTestView:DrawObject(CDC* pDC)/繪制立方體線框CP3 ScreenP,t;CLine *line=new CLine;for(int nFace=0;nFace6;nFace+)/面循環(huán)for(int nPoint=0;nPointMoveTo(pDC,ScreenP);t=ScreenP;elseline-LineTo(pDC,ScreenP

5、);line-LineTo(pDC,t);/閉合多邊形delete line;4、 動畫按鈕函數(shù)void CTestView:OnPlay()/動畫按鈕函數(shù) / TODO: Add your command handler code herebPlay=bPlay?FALSE:TRUE;if(bPlay)/設(shè)置定時器SetTimer(1,150,NULL);elseKillTimer(1);5、 定時器處理函數(shù)void CTestView:OnTimer(UINT nIDEvent)/定時器處理函數(shù) / TODO: Add your message handler code here and/or call defaultAlpha=5;Beta=5;tran.RotateX(Alpha);tran.RotateY(Beta);Invalidate(FALSE);CView:OnTimer(nIDEvent);6、 動畫按鈕控制狀態(tài)函數(shù)void CTestView:OnUpdatePlay(CCmdUI* pCmdUI)/動畫按鈕狀態(tài)函數(shù) / TODO: Add your command update UI handler code hereif(bP

溫馨提示

  • 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

提交評論