計(jì)算機(jī)圖形學(xué)綜合題_第1頁(yè)
計(jì)算機(jī)圖形學(xué)綜合題_第2頁(yè)
計(jì)算機(jī)圖形學(xué)綜合題_第3頁(yè)
計(jì)算機(jī)圖形學(xué)綜合題_第4頁(yè)
計(jì)算機(jī)圖形學(xué)綜合題_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

直線段的裁剪CH05-2

假定直線段用p1(x1,y1)p2(x2,y2)表示。

直線段和剪裁窗口的可能關(guān)系:完全落在窗口內(nèi)、完全落在窗口外或者與窗口邊界相交。

圖6-28直線段與窗口的關(guān)系

實(shí)交點(diǎn)與虛交點(diǎn):實(shí)交點(diǎn)是直線段與窗口矩形邊界的交點(diǎn)。虛交點(diǎn)則是直線段與窗口矩形邊界延長(zhǎng)線或直線段的延長(zhǎng)線與窗口矩形邊界的交點(diǎn)。(例如CD的延長(zhǎng)線)

圖6-29實(shí)交點(diǎn)與虛交點(diǎn)

Cohen-Sutherland算法

1.基本思想

對(duì)每條直線段p1(x1,y1)p2(x2,y2)分三種情況處理:

(1)直線段完全可見(jiàn),“簡(jiǎn)取”之。

(2)直線段完全不可見(jiàn),“簡(jiǎn)棄”之。

(3)直線段既不滿足“簡(jiǎn)取”的條件,也不滿足“簡(jiǎn)棄”的條件,需要對(duì)直線段按交點(diǎn)進(jìn)行分段,分段后重復(fù)上述處理。

2.編碼:對(duì)于任一端點(diǎn)(x,y),根據(jù)其坐標(biāo)所在的區(qū)域,賦予一個(gè)位的二進(jìn)制碼D3D2D1D0。編碼規(guī)則如下圖所示:上下右左

(1)若x<wxl,則D0=1,否則D0=0;

(2)若x>wxr,則D1=1,否則D1=0;

(3)若y<wyb,則D2=1,否則D2=0;

(4)若y>wyt,則D3=1,否則D3=0。

圖5-30窗口及區(qū)域編碼

3.裁剪

裁剪一條線段時(shí),先求出端點(diǎn)p1和p2的編碼code1和code2,然后

(1)若code1|code2=0,對(duì)直線段應(yīng)簡(jiǎn)取之。

(2)若code1&code2≠0,對(duì)直線段可簡(jiǎn)棄之。

(3)若上述兩條件均不成立。則需求出直線段與窗口邊界的交點(diǎn)。在交點(diǎn)處把線段一分為二,其中必有一段完全在窗口外,可以棄之。再對(duì)另一段重復(fù)進(jìn)行上述處理,直到該線段完全被舍棄或者找到位于窗口內(nèi)的一段線段為止。

4.求交:假定直線的端點(diǎn)坐標(biāo)為(x1,y1)和(x2,y2)

(1)左、右邊界交點(diǎn)的計(jì)算:y=y1+k(x-x1);

(2)上、下邊界交點(diǎn)的計(jì)算:x=x1+(y-y1)/k。

圖6-34裁剪結(jié)果

4.特點(diǎn)

可以正確地裁剪凸多邊形,但裁剪凹多邊形會(huì)出現(xiàn)如下圖所示的問(wèn)題。即由于多邊形是當(dāng)作一個(gè)整體被裁剪的,若裁剪結(jié)果出現(xiàn)多個(gè)多邊形時(shí),Sutherland-Hodgeman多邊形裁剪不能獲得正確的結(jié)果。

裁剪前

裁剪結(jié)果

圖6-35裁剪前后對(duì)比Weiler-Atherton多邊形裁剪

假定按順時(shí)針?lè)较蛱幚眄旤c(diǎn),且將用戶多邊形定義為Ps,窗口矩形為Pw。算法從Ps的任一點(diǎn)出發(fā),跟蹤檢測(cè)Ps的每一條邊,當(dāng)Ps與Pw相交時(shí)(實(shí)交點(diǎn)),按如下規(guī)則處理:

(1)若是由不可見(jiàn)側(cè)進(jìn)入可見(jiàn)側(cè),則輸出可見(jiàn)直線段,轉(zhuǎn)(3);

(2)若是由可見(jiàn)側(cè)進(jìn)入不可見(jiàn)側(cè),則從當(dāng)前交點(diǎn)開(kāi)始,沿窗口邊界順時(shí)針檢測(cè)Pw的邊,即用窗口的有效邊界去裁剪Ps的邊,找到Ps與Pw最靠近當(dāng)前交點(diǎn)的另一交點(diǎn),輸出可見(jiàn)直線段和由當(dāng)前交點(diǎn)到另一交點(diǎn)之間窗口邊界上的線段,然后返回處理的當(dāng)前交點(diǎn);

(3)沿著Ps處理各條邊,直到處理完P(guān)s的每一條邊,回到起點(diǎn)為

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論