




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1實驗目的1)掌握4*4矩陣乘法運算的編程實現(xiàn)。2)掌握平移、比例、旋轉三種基本三維幾何變換矩陣生成。3)掌握正交投影圖的生成和繪制方法。2實驗要求1)三維坐標系的原點位于屏幕中心,X軸水平向右,Y軸垂直向上,Z軸垂直于坐標屏幕,指向屏幕外。2)設計實現(xiàn)三維圖形變換類,具有平移、比例、旋轉三維幾何變換功能,以及正交投影變換功能。3)使用第二章的直線類繪制正四面體的是三維線框模型,要求體心位于坐標原點,使正四面體同時繞Y軸勻速旋轉,并相對于體心點來回縮放。4)使用雙緩沖機制,繪制正四面體三維線框模型的二維正交投影圖,要求投影至ijXOYTW。3詳細設計3.1核心算法及類型設計voidCTrans
2、3DView:BuildPointEdge()(doubled=400;P0.x=d/2;P0.y=d/2;P0.z=d/2;P1.x=d/2;P1.y=-d/2;P1.z=-d/2;P2.x=-d/2;P2.y=-d/2;P2.z=d/2;P3.x=-d/2;P3.y=d/2;P3.z=-d/2;E0.SetPointsIndex(0,1);E1.SetPointsIndex(0,2);E2.SetPointsIndex(0,3);E3.SetPointsIndex(1,2);E4.SetPointsIndex(1,3);E5.SetPointsIndex(2,3);voidCTrans3D
3、View:OnDraw(CDC*pDC)(CTrans3DDoc*pDoc=GetDocument();ASSERTVALID(pDoc);if(!pDoc)return;/TODO:在此處為本機數(shù)據(jù)添加繪制代碼CRectrect;GetClientRect(&rect);pDC->SetMapMode(MM_ANISOTROPIC);pDC->SetWindowExt(rect.Width(),rect.Height();pDC->SetViewportExt(rect.Width(),-rect.Height();pDC->SetViewportOrg(re
4、ct.Width()/2,rect.Height()/2);/雙緩沖機制CDCMemDC;CBitmapNewBitmap,*pOldBitmap;MemDC.CreateCompatibleDC(pDC);NewBitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height();兼容位圖pOldBitmap=MemDC.SelectObject(&NewBitmap);/將兼容位圖選入MemDcMemDC.FillSolidRect(rect,pDC->GetBkC010r();MemDC.SetMapMode(MMANIS
5、OTROPIC);MemDC.SetWindowExt(rect.Width(),rect.Height();MemDC.SetViewportExt(rect.Width(),-rect.Height();MemDC.SetViewportOrg(rect.Width()/2,rect.Height()/2);Line*line=newLine;/動態(tài)創(chuàng)建直線繪制類對象/繪制坐標軸line->SetLineColor(RGB(0,0,0);line->MoveTo(CP2(-rect.Width()/2,0);/X軸line->LineTo(CP2(rect.Width()
6、/2,0),&MemDC);line->MoveTo(CP2(0,-rect.Height()/2);/Y軸line->LineTo(CP2(0,rect.Height()/2),&MemDC);/旋轉、縮放、正交投影變換CTrans3tans.tans.SetPoints(P,4);在0.52.0之間縮放staticdoubles=1.0;staticdoublestep=0.01;if(s>=2.0|s<=0.5)step=-step;s+=step;tans.Scale(s,s,s);繞丫軸勻速逆時針旋轉staticfloattheta=0.0th
7、eta+=1.0;if(theta>360)theta=0.0tans.RotateY(theta);/二維正交投影tans.ProjXOY();/繪制動態(tài)旋轉和縮放的四面體for(inti=0;i<6;i+)line->SetLineColor(RGB(0,255,0);line->MoveTo(tans.mp2ScreenEi.Start);line->LineTo(tans.m_p2ScreenEi.End,&MemDC);deleteline;將內(nèi)存位圖拷貝到屏幕pDC->BitBlt(-rect.Width()/2,-rect.Height
8、()/2,rect.Width(),rect.Height(),&MemDC,-rect.Width()/2,-rect.Height()/2,SRCCOPY);MemDC.SelectObject(pOldBitmap);NewBitmap.DeleteObject();Invalidate(FALSE);3.2程序設計實現(xiàn)及流程圖平移變換矩陣10000100Tt=0010:txtytz11繞x,y,z旋轉變換矩陣10000cossins0Trx=00-sinacos«0_0001_cos10-sin二0010Ty=.sin0cos"0-0001_比例變換矩陣流程圖:4典型測試結果cos:sin:00-sinacosa0I0010-00011Sx0000Sy0000Sz0-000115實驗問題總結通過這次試驗讓我知道了要實現(xiàn)三維圖形幾何變換主要還是依靠二位圖形幾何變換的變換矩陣,包括平移變換矩陣,繞X、丫、z旋轉變換矩陣,比例變換矩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- YY/T 0865.1-2024超聲水聽器第1部分:醫(yī)用超聲場的測量和特征描繪
- JJG(煙草)29-2011煙草加工在線水分儀檢定規(guī)程
- JJG(煙草)18-2012煙草專用透氣度流量盤檢定規(guī)程
- 2005年上海市中考數(shù)學試題【含答案、解析】
- 安徽省天一大聯(lián)考2025屆高三上學期期末檢測-物理試卷+答案
- 考研復習-風景園林基礎考研試題帶答案詳解(模擬題)
- 風景園林基礎考研資料試題及答案詳解【易錯題】
- 《風景園林招投標與概預算》試題A附答案詳解(精練)
- 2025年江西省高速公路投資集團有限責任公司招聘筆試備考題庫附答案詳解(奪分金卷)
- 2024年濱州新能源集團有限責任公司及權屬公司公開招聘工作人員遞補筆試備考題庫附答案詳解(奪分金卷)
- 臨床帶教老師的溝通與反饋技巧
- 2024年新人教版一年級數(shù)學上冊課件 第三單元 認識立體圖形 認識立體圖形
- 績效管理手冊(知名電器公司)
- 形勢與政策(2025春)超星爾雅學習通答案滿分章節(jié)測試
- 工業(yè)機器人安全培訓
- 人力資源開發(fā)與管理模擬試題及答案
- 高職學生數(shù)字化學習能力培養(yǎng)研究
- 天津鄉(xiāng)土地理知識要點
- 圍手術期的ERAS營養(yǎng)護理管理
- 急性腎功能不全護理查房
- 《水利水電工程可行性研究報告編制規(guī)程》
評論
0/150
提交評論