線段裁剪一 Cohen Sutherland演算法

2021-05-22 09:38:57 字數 624 閱讀 1810

cohen-sutherland演算法

基本思想:對於每條線段p1p2

分為三種情況處理分為三種情況處理:

(1)若p1p2

完全在視窗內,則顯示該線段p1p2

簡稱「取」之。

(2)若p1p2

明顯在視窗外(及線段p1p2在視窗外),則丟棄該線段,簡稱「棄」之。

(3)若線段不滿足「取」或 「棄」的條件,則在交點處把線段分為兩段。其中一段完全在視窗外,可棄之。然後對另一段重複上述處理。

為快速判斷,採用如下編碼方法:

每個區域賦予4位編碼ctcbcrcl

(a)若p1p2

完全在視窗內code1=0,且code2=0,則「取」

(b)若p1p2

明顯在視窗外code1&code2≠0,則「棄」

(c)在交點處把線段分為兩段。其中一段完全在視窗外,可棄之。然後對另一段重複上述處理。

(12)裁剪之直線段裁剪

圖形裁剪的定義 確定圖形在指定區域 即裁剪視窗 內的部分並保留,以及在區域外的部分並裁掉的過程稱為圖形裁剪。假定 裁剪視窗為矩形視窗,左下點座標為 xl,yb 右上點座標為 xr,yt 定義 直線段裁剪就是保留給定線段在視窗內的部分。直線段與視窗的位置關係有以下幾種情況 直線段兩個端點在視窗內 線段...

Liang Barsky直線段裁剪演算法

考慮凸多邊形區域r和直線段p1p2 p t p2 p1 t p1 設a是區域r的邊界上一點,n是區域邊界在a點的內法線向量 則對於線段p1p2上任一點p t n p t a 0 外側 n p t a 0 內側 n p t a 0 邊界或其延長線上 凸多邊形的性質 點p t 在凸多邊形內的充要條件是,...

基於MFC的線段裁剪演算法的實現

此處就不再贅述,沒有mfc mfcmf c基礎的可以先看第乙個mfc mfcmf c程式。專案名為lin ecli ppin glineclipping linecl ippi ng在適當位置設定巨集。define left 1 define right 2 define bottom 4 defi...