2、多邊形的掃描轉換
在光柵圖形中,區域是由【相連的】像素組成的集合,這些像素具備【相同的】屬性值或者它們位於某邊界線的內部
一、多邊形的掃描轉換—>光柵圖形的一個基本問題是把多邊形的頂點表示轉換爲點陣表示。【缺點:沒法實現對未知邊界的區域填充】
二、多邊形的掃描轉換與區域填充問題—>是怎樣在離散的像素集上表示一個連續的二維圖形。
三、多邊形有兩種重要的表示方法:
(1)頂點表示:用多邊形的定點序列來表示多邊形
優勢:直觀、幾何意義強、佔內存少、易於進行幾何變換
缺點:沒有明確指出那些象素在多邊形內,故不能直接用於上色
(2)點陣表示:是用位於多邊形內的象素集合來刻畫多邊形
缺點:丟失了許多幾何信息(eg:邊界、頂點等)
——>但【點陣表示是光柵顯示系統顯示時所需的表現形式。】
四、多邊形分類
五、【問題1】知道多邊形的邊界,如何找到多邊形內部的點,即把多邊形內部填上顏色?
(1)X-掃描線算法;算法
按掃描線順序,計算掃描線與多邊形的相交區間,再用要求的顏色顯示這些區間的象素,即完成填充工做。區間的端點能夠經過計算掃描線與多邊形邊界線的交點得到。
【核心:按x遞增順序排列交點的x座標序列,缺點:效率低(求交點很麻煩)】spa
算法步驟:
1.肯定多邊形所佔有的最大掃描線數,獲得多邊形定點的最小最大值;
2.從ymin到ymax每次用一條掃描線進行填充;
3.對一條掃描線填充的過程分爲四個步驟:
a)求交點;
b)把全部交點按遞增順序排序;
c)交點配對(第一個和第二個,第三個和第四個);
d)區間填色。blog
掃描線與多邊形頂點相交時,交點的取捨問題【交點應保證爲偶數個】:
排序