下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)報(bào)告三線投影與隱線算法一、實(shí)驗(yàn)?zāi)康娜S投影:(1)掌握4*4矩陣乘法運(yùn)算的編程實(shí)現(xiàn)(2)掌握平移、比例、旋轉(zhuǎn)三種基本三維幾何變換矩陣生成(3)掌握正交投影圖的生成與繪制方法隱線算法:(1)掌握凸多變體的隱線算法二、實(shí)驗(yàn)要求三維投影:(1)三維坐標(biāo)系的原點(diǎn)位于屏幕中心,X軸水平向右,Y軸垂直向上,Z軸垂直于坐標(biāo)屏幕,指向屏幕外。(2)設(shè)計(jì)實(shí)現(xiàn)三維圖形變換類,具有平移、比例、旋轉(zhuǎn)三維幾何變換功能,以及正交投影變換功能(3)使用第二章的直線類繪制正四面體的三維線框模型,要求體心位于坐標(biāo)原點(diǎn),使正四面體同時(shí)繞Y軸勻速旋轉(zhuǎn),并相對于體心點(diǎn)來回縮放(4)使用雙緩沖機(jī)制,繪制正四面體三維線框模型的二維正
2、交投影圖,要求投影到XOY平面隱線算法:1)三維坐標(biāo)系的原點(diǎn)位于屏幕中心,X軸水平向右,Y軸垂直向上,Z軸垂直于坐標(biāo)屏幕,指向屏幕外。(2)以2.5節(jié)實(shí)驗(yàn)(實(shí)驗(yàn)5)繪制的動態(tài)正四面體線框圖為基礎(chǔ),通過隱線算法對正四面體的線框圖進(jìn)行消隱處理。(3)使用點(diǎn)表和面表的雙表結(jié)構(gòu),重新構(gòu)造正四面體的數(shù)據(jù)。三、實(shí)驗(yàn)步驟三維投影:(1)第一步:打開實(shí)驗(yàn)2工程文件直接使用實(shí)驗(yàn)2的MFC項(xiàng)目工程,及其中的直線類Cline;(2)第二步:建立三維齊次坐標(biāo)頂點(diǎn)類和邊表類(3)第三步:設(shè)計(jì)實(shí)現(xiàn)三維圖形幾何變換類(4)第四步:建立正四面體的點(diǎn)表和邊表(5)第五步:正四面體三維線框圖的二維正交投影圖隱線算法:(1)第一步
3、:打開實(shí)驗(yàn)5工程文件直接使用實(shí)驗(yàn)5的MFC項(xiàng)目工程,及其中的三維變換類CTrans3Q(2)第二步:建立表面類(3)第三步:建立正四面體的點(diǎn)表和面表(4)第四步:通過隱線算法繪制正四面體的消隱線框圖四、典型驗(yàn)證結(jié)果三維投影:4工eHvvrm隱線算法:五、核心代碼三維投影:voidCTrans3D:Translate(doubletx,doublety,doubletz)/平移變換矩陣(Identity();m_aT30=tx;m_aT31=ty;m_aT32=tz;MultiMatrix();)voidCTrans3D:Scale(doublesx,doublesy,doublesz)比例變換
4、矩陣Identity();m_aT00=sx;m_aT11=sy;m_aT22=sz;MultiMatrix();)voidCTrans3D:ProjXOY()/正交投影變換m_p2Screen=newCP2m_iNum;for(inti=0;i<m_iNum;i+)m_p2Screeni.x=m_p3Pointsi.x;m_p2Screeni.y=m_p3Pointsi.y;)隱線算法:classCVectorpublic:CVector();virtualCVector();CVector(CP3);CVector(CP3,CP3);doubleMold();/矢量的模CVector
5、Unit();單位矢量friendCVectoroperator+(CVector&,CVector&);/運(yùn)算符重載friendCVectoroperator-(CVector&,CVector&);friendCVectoroperator*(CVector&,double);friendCVectoroperator/(CVector&,double);friendCVectoroperator+=(CVector&,CVector&);friendCVectoroperator-=(CVector&,CVector
6、&);friendCVectoroperator*=(CVector&,CVector&);friendCVectoroperator/=(CVector&,double);frienddoubleDot(CVector&,CVector&);/矢量點(diǎn)積friendCVectoroperator*(CVector&,CVector&);/矢量叉積public:doublex,y,z;);繪制四面體的消隱線框圖CVectorVS(CP3(0,0,1);視矢量for(inti=0;i<4;i+)(/面法矢量CVectorV12(
7、tans.m_p3PointsFi.Points0,tans.m_p3PointsFi.Points1);CVectorV23(tans.m_p3PointsFi.Points0,tans.m_p3PointsFi.Points2);CVectorNormal=V12*V23;if(Dot(VS,Normal.Unit()>=0)/背面剔除(line->SetLineC010r(RGB(0,255,0);/綠色line->MoveTo(tans.m_p2ScreenFi.Points0);line->LineTo(tans.m_p2ScreenFi.Points1,&MemDC)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024司機(jī)聘用合同
- 挖掘機(jī)租賃市場合同樣本
- 2024年房屋經(jīng)紀(jì)服務(wù)合同
- 2024競價(jià)房屋買賣合同范本
- 江蘇省徐州市七年級上學(xué)期語文期中試卷5套【附答案】
- 2024【股權(quán)投資信托合同】股權(quán)投資合同
- 施工安全協(xié)議書案例分析
- 專業(yè)咨詢委托協(xié)議參考
- 房屋買賣合同協(xié)議書委托人2024年
- 標(biāo)準(zhǔn)的汽車租賃合同范本
- 10000中國普通人名大全
- 開放式小區(qū)物業(yè)管理方案(精選8篇)
- 《突發(fā)事件應(yīng)對法》理論考試題庫(含答案)
- 國家開放大學(xué)酒店管理概論作業(yè)1-4答案
- 景觀植物設(shè)計(jì)-3-各類植物的種植設(shè)計(jì)課件
- 客運(yùn)駕駛員安全指引課件
- 經(jīng)理課后答案1-4(僅作參考)
- 創(chuàng)思維與方法思維標(biāo)準(zhǔn)課件
- 數(shù)字經(jīng)濟(jì)實(shí)體經(jīng)濟(jì)融合課件整理
- 團(tuán)委書記崗位競聘報(bào)告課件
- 滬教版數(shù)學(xué)二年級上冊《正方體、長方體的初步認(rèn)識》課件
評論
0/150
提交評論