下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編碼裁剪算法一, 實(shí)驗(yàn)名稱:編碼裁剪算法二, 實(shí)驗(yàn)?zāi)康暮鸵饬x:窗口內(nèi)的圖形顯示,超出窗口邊框的圖形不予顯示。這個(gè)過程就是裁剪過程,它在圖形顯示及窗視口變換中經(jīng)常用到,對(duì)工程圖形進(jìn)行裁剪時(shí),編碼裁剪是一種有效的裁剪方法,通過該實(shí)驗(yàn),了解和掌握編碼裁剪的原理和方法。從而快速地處理顯示區(qū)內(nèi)的圖形。三, 實(shí)驗(yàn)原理;將繪圖所在平面分成九個(gè)區(qū)域,每個(gè)區(qū)域用一個(gè)四位的二進(jìn)制數(shù)來表示,0000、0001、0010、1001、1000、1010、0101、0100、0110,如果線段兩個(gè)端點(diǎn)的4位編碼全為0,表示線段全部在窗口內(nèi),可直接接受并加以顯示;如果對(duì)線段兩個(gè)端點(diǎn)的4位編碼進(jìn)行邏輯與運(yùn)算,結(jié)果為非0,則此
2、線段全部在窗口外,可直接舍棄加以裁減;否則,計(jì)算直線和窗口邊框線的交點(diǎn),再計(jì)算交點(diǎn)的特征碼;重復(fù)這一過程,直到全部線段均被裁減掉或接受為止。四, 實(shí)驗(yàn)內(nèi)容;算法改編成C語言程序,給定一窗口區(qū)域(50,50,200,100),隨機(jī)生成5條直線,對(duì)其進(jìn)行裁剪處理,將處理結(jié)果加以顯示。五, 算法步驟;給定一窗口區(qū)域。計(jì)算各區(qū)的特征碼。隨機(jī)給定一條直線的兩端上。計(jì)算兩端點(diǎn)對(duì)應(yīng)的特征碼。如果兩端點(diǎn)都在窗口內(nèi),直接顯示。如果有端點(diǎn)在窗口外,則判斷它和哪個(gè)邊框有交點(diǎn)。求出直線和對(duì)應(yīng)邊框線交點(diǎn)。在計(jì)算交點(diǎn)的特征碼,重復(fù)前面的。六, 程序代碼;/*說明;(x1,y1)和(x2,y2)為線段的兩個(gè)端點(diǎn)。*/#in
3、cludegraphics.h r=400,yb=300,yt=100;#includestdio.h#includemath.h int encode(int x,int y,int*code) #define LEFT 1 int c;#define RIGHT 2 c=0;#define BOTTOM 4 if(xxr)int c=RIGHT;x1=50,y1=50,x2=450,y2=350,xl=100,xif(yyb)c=BOTTOM; else if(yyt) c=TOP;if(x=xl|x=xr|y=yt|y=yb) c=0; *code=c; C_S_LINECLIP(x1,
4、y1,x2,y2,xl,xr,yb,yt)/*(x1,y1)與()時(shí)線段端點(diǎn)坐標(biāo)其他四個(gè)參數(shù)分別定義為左,下,右,上邊界*/ int x,y,code1,code2,code; encode(x1,y1,&code1); encode(x2,y2,&code2); while(code1!=0|code2!=0) if(code1&code2!=0) return; code=code1; if(code1=0) code=code2; if(LEFT&code)!=0) /*線段與左邊界相交*/ x=x1;y=y1+(long)(y2-y1)*(xl-x1)/(x2-x1); else if
5、(RIGHT&code)!=0) /*線段與右邊界相交*/ x=xr;y=y1+(long)(y2-y1)*(xr-x1/x2-x1); else if(BOTTOM&code)!=0) /*線段與上邊界相交*/ y=yb;x=x1+(long)(x2-x1)*(yb-y1)/(y2-y1); else if(TOP&code)!=0) /*線段與下邊界相交*/ y=yt;x=x1+(long)(x2-x1)*(yt-y1)/(y2-y1); if(code=code1) x1=x; y1=y;encode(x,y,&code1); elsex2=x; y2=y;encode(x,y,&code2); setcolor(RED); line(x1,y1,x2,y2); return; void main() intgraphdriver=DETECT,graphmode;initgraph(&graphdriver,&graphmode,);rectangle(xl,yt,xr,yb);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度鋼材行業(yè)投資分析與風(fēng)險(xiǎn)評(píng)估合同
- 2025版學(xué)校體育器材租賃與維護(hù)服務(wù)協(xié)議3篇
- 教育科技在心理健康領(lǐng)域的創(chuàng)新應(yīng)用
- 二零二五年度打字員與出版社合同:圖書編輯與排版服務(wù)協(xié)議2篇
- 社交媒體在小學(xué)數(shù)學(xué)教學(xué)中的作用與影響
- 教育信息化背景下的探究式學(xué)習(xí)法研究
- 2025年度能源管理創(chuàng)業(yè)合伙人共同投資協(xié)議4篇
- 二零二五年度成都離婚協(xié)議公證辦理材料審核及處理合同4篇
- 企業(yè)可持續(xù)發(fā)展與創(chuàng)新型組織架構(gòu)的關(guān)系
- 小學(xué)階段數(shù)學(xué)與信息技術(shù)課程的資源整合
- 第五單元《習(xí)作例文:風(fēng)向袋的制作》說課稿-2024-2025學(xué)年五年級(jí)上冊(cè)語文統(tǒng)編版
- T型引流管常見并發(fā)癥的預(yù)防及處理
- JJG 1204-2025電子計(jì)價(jià)秤檢定規(guī)程(試行)
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)(共380題含答案)
- 中建集團(tuán)面試自我介紹
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)參考答案
- 2024版《53天天練單元?dú)w類復(fù)習(xí)》3年級(jí)語文下冊(cè)(統(tǒng)編RJ)附參考答案
- 知識(shí)圖譜與大模型融合實(shí)踐研究報(bào)告
- 0-9任意四位數(shù)手機(jī)密碼排列組合全部數(shù)據(jù)列表
- 碳排放管理員 (碳排放核查員)技能考核內(nèi)容結(jié)構(gòu)表四級(jí)、技能考核要素細(xì)目表四級(jí)
- 物業(yè)五級(jí)三類服務(wù)統(tǒng)一標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論