2022年2022年計算機(jī)圖形學(xué)實驗報告_第1頁
2022年2022年計算機(jī)圖形學(xué)實驗報告_第2頁
2022年2022年計算機(jī)圖形學(xué)實驗報告_第3頁
2022年2022年計算機(jī)圖形學(xué)實驗報告_第4頁
2022年2022年計算機(jī)圖形學(xué)實驗報告_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選學(xué)習(xí)資料 - - - 歡迎下載院專系:業(yè):數(shù)學(xué)與統(tǒng)計學(xué)學(xué)院信息與運算科學(xué)專業(yè)年級:2021級課程名稱:運算機(jī)圖形學(xué)組號:第 35 組組員: 李錚 秦文志李丹指導(dǎo)老師:孫 陽 光2021 年 06 月 05 日精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載年級2021 級學(xué)號202121101027202121101028202121101029信息與運算精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載專業(yè)科學(xué)專業(yè)姓名李錚秦文志李丹精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗時間2021 年 4 月 26 日試驗地點9 棟 204精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗試驗一.

2、直線的掃描轉(zhuǎn)換名稱試驗設(shè)計型綜合型創(chuàng)新型類型精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載1)懂得在顯示器上畫圖與在紙上畫圖的本質(zhì)區(qū)分;實驗2)把握直線的光柵掃描轉(zhuǎn)換過程;目的3)把握不同算法繪制直線的思路和優(yōu)缺點;用基本增量算法和bresenham 算法畫直線1)將像素網(wǎng)格表現(xiàn)出來,建立網(wǎng)格坐標(biāo)系;實驗2)顯示判別式的運算過程和下一點的挑選策略;要求3)記錄生成點的坐標(biāo),建議用表的形式;4)圖形生成過程可以重復(fù)進(jìn)行;dda代碼:clearcloseall clcx1=0;y1=0;x2=15;y2=12;實figure、linex1、x2、y1、y2、'color'、0 0

3、1;驗length =absx2-x1+1;原dx=x2-x1/length;理dy=y2-y1/length;k=dy/dx;x=x1;y=y1;holdonfori=1:lengthplotroundx、floory+0.5、'*r'x=x+1; y=y+k;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載endholdoffbresenh am代碼:clearcloseall clcx1=0;y1=0; x2=15;y2=12;figure、linex1、x2、y1、y2、'color'、0 0 1;length =absx2-x1+1; dx=x2-x1;

4、dy=y2-y1; e=2*dy-dx; x=x1; y=y1;holdonfori=1:lengthplotroundx、floory+0.5、'*r' ife>=0y=y+1; e=e-2*dx;end x=x+1; e=e+2*dy; endholdoff試驗結(jié)果分析bresenham 法:精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗心得體會成果評定老師簽名:年月日精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載年級2021 級學(xué)號202121101027202121101028202121101029信息與運算精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載專業(yè)

5、科學(xué)專業(yè)姓名李錚秦文志李丹精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗時間2021 年 5 月 3 日試驗地點9 棟 204精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗試驗二.圓弧的掃描轉(zhuǎn)換名稱試驗設(shè)計型綜合型創(chuàng)新型類型精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載實1)把握圓和圓弧的光柵掃描轉(zhuǎn)換過程;驗?zāi)?)把握不同算法繪制圓弧的技巧和優(yōu)缺點;的用正負(fù)法和bresenham 算法畫圓弧1)將像素網(wǎng)格表現(xiàn)出來,建立網(wǎng)格坐標(biāo)系;實驗2)顯示判別式的運算過程和下一點的挑選策略;要求3)記錄生成點的坐標(biāo),建議用表的形式;4)圖形生成過程可以重復(fù)進(jìn)行;bresenham 算 法 : fun

6、ction bresenhamb x = 0;y = b; d=3-2*b;theta=0:0.01*pi:2*pi;x1=b*costheta+0; y1=b*sintheta+0;實plotx1、y1;驗hold on原plot0、0、'b+'理hold on; while x<yplotx、y、'*'plot-x、-y、'*'plot-x、y、'*'plotx、-y、'*' if d<0 d=d+4*x+6; else精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載d=d+4*x-y+10; y=y

7、-1;end x=x+1; ifx=y plotx、y、'*'plot-x、-y、'*'plot-x、y、'*'plotx、-y、'*' endendhold off;正 負(fù) 法 : function zfb x = 0;y = b; f=0;theta=0:0.01*pi:2*pi; x1=b*costheta+0; y1=b*sintheta+0; plotx1、y1;hold on plot0、0、'b+' hold on; while y>0plotx、y、'*'plot-x、-y、&

8、#39;*'plot-x、y、'*'plotx、-y、'*' if f>0f=f-2*y+1;y=y-1; else f=f+2*x+1; x=x+1; end ify=0plotx、y、'*'plot-x、-y、'*'plot-x、y、'*'plotx、-y、'*' end精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載end hold off;bresenham 算法:試驗結(jié)正負(fù)法:果分析精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗心得體會成果評定老師簽名:年月日精品學(xué)習(xí)資料精

9、選學(xué)習(xí)資料 - - - 歡迎下載年級2021 級學(xué)號202121101027202121101028202121101029信息與運算精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載專業(yè)科學(xué)專業(yè)姓名李錚秦文志李丹精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗時間2021 年 5 月 17 日試驗地點9 棟 204精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗試驗三.直線段的裁剪名稱試驗設(shè)計型綜合型創(chuàng)新型類型精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載用 cohen-sutherland 算法和 liang _barsky 算法進(jìn)行線段裁剪實驗1)懂得裁剪的相關(guān)概念 2)把握直線段的一般

10、裁剪過程;目的3)懂得并把握cohen-sutherland算法的編碼思想;4)懂得并把握liang_barsky 算法的參數(shù)化裁剪思想;實1)將像素網(wǎng)格表現(xiàn)出來,建立網(wǎng)格坐標(biāo)系;驗2)交互輸入剪裁線段和裁剪窗口;要3)對于線段裁剪,線段被窗口的四條邊裁剪的過程要顯示出來;求4)裁剪過程可以重復(fù)進(jìn)行;cohen-sutherland 算法核心代碼:function lines=cohen_sutherlandline、rectangle%編碼裁剪算法%line 為線段端點矩陣、共四列,其數(shù)據(jù)含義如下:% 端 點 a x 坐標(biāo)端 點 a y 坐標(biāo)端 點 b x 坐標(biāo)端點 b y 坐標(biāo)%recta

11、ngle 為窗口邊界值,共四個元素,其含義分別為xwl、xwr、ywb、ywt;%實%第一檢測參數(shù)為否合法驗row column=sizeline;原if column<4|lengthrectangle<4理lines=;fprintf' 參數(shù)不合法不合法' return ;end%程序中主要變量說明%code 為線段端點的編碼矩陣,兩行四列,第一行為點p1 的編碼,其次行為點p2 的編碼精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載%四列的含義為:d0、d1、d2、d3%依次處理line 的各個線段k=0;lines=;for i=1:lengthline:、1

12、%取出第 i 條線段p1=linei、1、2;p2=linei、3、4;%運算斜率pp=p1-p2; if pp1=0k=inf;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載elseendk=pp2/pp1;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載finished=false; whilefinished%對點 p1 和 p2 進(jìn)行編碼code=p11<rectangle1、p11>rectangle2、p12<rectangle3、p12>rectangle4; p21<rectangle1、p21>rectangle2、p22<rectan

13、gle3、p22>rectangle4;%p1、p2、k、code%進(jìn)行簡取或簡棄的判定test=code1、:|code2、:;%判定為否簡取if isemptyfindtest>0、1 lines=lines;p1、p2; finished=true;end%如當(dāng)前線段處理完成,就退出if finishedbreak;end%判定為否簡棄test=code1、:&code2、:; if isemptyfindtest>0、 1finished=true;endif finishedbreak;end%確保 p1 在窗口之外精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎

14、下載if isemptyfindcode1、:>0、1%交換 p1、p2 的坐標(biāo)值和編碼 pt=p1;p1=p2;p2=pt;pt=code1、:;code1、:=code2、:;code2、:=pt;end%從低位開頭找編碼值為1 的地方d=findcode1、:>0、1; if d<=2%此時 p1 位于窗口的左邊或右邊if k=0%如為水平線,就y 不變, x 變?yōu)榇翱诘淖筮吔缁蛴疫吔?且此時 k 不會等于inf ,否就線段處于簡棄狀態(tài); p11=rectangled;%p12=rectanglefindcode1、3、4>0、1;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - -

15、 - 歡迎下載elseelseend%如線段為斜線、就運算 y 值, x 值變?yōu)榇翱诘淖筮吔缁蛴疫吔鏿1=rectangled、p12+k*rectangled-p11;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載%此時 p1 位于窗口的上方或下方 if k=inf%如線段為豎直線、就 x 不變, y 變?yōu)榇翱诘纳线吔缁蛳逻吔?且此時 k 不會等于0、否就線段將處于簡棄狀態(tài); p12=rectangled;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載endelseend%如線段為斜線、就運算 x 值, y 值變?yōu)榇翱诘纳线吔缁蛳逻吔?;p1=p11+rectangled-p12/k、rect

16、angled;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載%對 p1 和 p2 重新編碼,再次運算;%p1、p2、k、code%pause10;% scanfd、'%d'%inputdlg'' endend%對最終點進(jìn)行取整運算%lines=roundlines; end精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載cohen-sutherland ï精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗心得體會成績評老師簽名:定年月日精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載年級2021 級學(xué)號202121101027202121101028202

17、121101029信息與運算精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載專業(yè)科學(xué)專業(yè)姓名李錚秦文志李丹精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗時間2021 年 5 月 24 日試驗地點9 棟 204精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載試驗試驗四.多邊形的裁剪名稱試驗設(shè)計型綜合型創(chuàng)新型類型精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載1)懂得多邊形裁剪與直線段裁剪的區(qū)分;實驗2 )把握多邊形的裁剪過程;目的3 )懂得并把握sutherland-hodgman算法的裁剪思想用 sutherland-hodgman 算法進(jìn)行多邊形裁剪1)將像素網(wǎng)格表現(xiàn)出來,建立網(wǎng)格坐標(biāo)系;實2

18、)交互輸入剪裁線段和裁剪窗口;驗要3)多邊形被窗口的四條邊裁剪的過程以及多邊形頂求點增刪的過程要顯示出來;4)裁剪過程可以重復(fù)進(jìn)行;核心算法:function polygonclipping% 這為一個基于 divide and conquer策略的 sutherland-hodgeman 多邊形裁剪算法的 matlab 程序% copyright c mar、 2006. smart.all rights reserved.實% department of computer science & technology驗% northern china electric power un

19、iversitybeijingncepu原%理% 輸入?yún)?shù)%xp = 0.5、 -2、 -2、 1.5、 1.5、 0.5、 0.5、 -1.5、 -1.5、 0.5; %待裁剪的多邊形%yp = -1.5、 -1.5、 2、 2、 0、 0、 1.5、 1.5、 0.5、 -1.5;xp = -2、 0.2、 1.6、 -2;yp = 0.5、 -2、 1.5、 0.5;精品學(xué)習(xí)資料精選學(xué)習(xí)資料 - - - 歡迎下載nvertex = lengthxp-1; %多邊形頂點數(shù)xw = -1 1 1 -1 -1; yw = -1 -1 1 1 -1;%矩形裁剪窗口 窗口邊界為逆時針方向,左下角頂

20、點為第一個頂點% 設(shè)置繪圖環(huán)境hold on; axis equal; grid on;% 畫出要裁剪的多邊形和裁剪窗口 plotxp、yp、'b-'、'linewidth'、2;for i = 1:nvertextextxpi、ypi、'p' num2stri '' num2strxpi '、'num2strypi ''、 'fontsize'、16、'color'、0、1、1; endplotxw、yw、'g-'、'linewidth'、1.5;title'sutherland-hodgeman多邊形裁剪算法演示 '' 按任意鍵連續(xù) .' pause;% sutherland-hodgeman 多邊形裁剪算法實現(xiàn)invertx = xp; inverty = yp; clr = 'r' 'c' 'm' 

溫馨提示

  • 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

提交評論