專利名稱:用在圖形光柵掃描中的凸多邊形插值方法和系統的制作方法
技術領域:
本發明涉及圖像處理領域,更具體地涉及一種用在圖形光柵掃描中的凸多邊形遍歷方法和系統、以及插值方法和系統。
背景技術:
圖形光柵掃描過程是將幾何圖形(例如,線、三角形、多邊形等)映射成顯示器上的像素的過程。凸多邊形是圖形學中重要的幾何圖形。“凸多邊形遍歷”過程是用來找到所有位于凸多邊形內部的像素的過程。“凸多邊形插值”過程是計算凸多邊形內部的像素的參數值(例如,R、G、B等)的過程。邊方程技術是凸多邊形光柵掃描的基礎。“邊方程”指的是凸多邊形各條邊的直線方程。位于凸多邊形內部的像素的各條邊方程的值同時為正或同時為負。基于這個性質,可以使用邊方程來判斷一個像素是否位于凸多邊形的內部。傳統的凸多邊形光柵掃描方法是將凸多邊形劃分成一系列三角形然后利用三角形的光柵掃描方法來實現整個凸多邊形的光柵掃描過程的方法。由于劃分成三角形后引入了大量的多余邊,使得傳統的凸多邊形光柵掃描方法需要的運算量很大,所以凸多邊形光柵掃描過程耗時較長,占用的計算設備的計算資源較多。
發明內容
鑒于以上所述的一個或多個問題,本發明提供了一種用在圖形光柵掃描中的凸多邊形遍歷方法和系統、以及插值方法和系統。根據本發明實施例的用在圖形光柵掃描中的凸多邊形遍歷方法,包括以下步驟 S302,根據凸η邊形的η個頂點的坐標值,構造用在對凸η邊形進行光柵掃描的過程中的兩個邊界框,其中,η為大于2的整數;S304,為該兩個邊界框中的每一個設置遍歷起始位置; 以及S306,分別從該兩個邊界框中的每一個的遍歷起始位置開始,對位于該兩個邊界框中的每一個中的凸η邊形部分進行遍歷。根據本發明實施例的用在圖形光柵掃描中的凸多邊形遍歷系統,包括邊界框構造單元,用于根據凸η邊形的η個頂點的坐標值,構造用在對凸η邊形進行光柵掃描的過程中的兩個邊界框,其中,η為大于2的整數;起始位置設置單元,用于為該兩個邊界框中的每一個設置遍歷起始位置;以及圖形遍歷單元,用于從該兩個邊界框中的每一個的遍歷起始位置開始,對位于該兩個邊界框中的每一個中的凸η邊形部分進行遍歷。根據本發明實施例的用在圖形光柵掃描中的凸多邊形插值方法,包括以下步驟 S702,將凸多邊形從絕對坐標系轉換到以凸多邊形的任意一邊為坐標軸的相對坐標系; S704,根據位于凸多邊形內的待插值像素在該相對坐標系中的Y軸坐標值和凸多邊形的每條邊的頂點在該相對坐標系中的Y軸坐標值,為待插值像素選擇相交邊;以及S706,利用該相交邊的頂點的參數值,插值得到待插值像素的參數值。根據本發明實施例的用在圖形光柵掃描中的凸多邊形插值系統,包括坐標系轉換單元,用于將凸多邊形從絕對坐標系轉換到以凸多邊形的任意一邊為坐標軸的相對坐標系;相交邊選擇單元,用于根據位于凸多邊形內的待插值像素在該相對坐標系中的Y軸坐標值和凸多邊形的每條邊的頂點在該相對坐標系中的Y軸坐標值,為待插值像素選擇相交邊;以及參數值計算單元,用于利用該相交邊的頂點的參數值,插值得到待插值像素的參數值。本發明避免了將凸多邊形劃分成三角形后引入的大量多余邊,從而使得凸多邊形光柵掃描方法/系統需要的運算量變小,所以凸多邊形光柵掃描過程耗時變短,占用的計算設備的計算資源變少。
圖1示出了凸多邊形光柵掃描系統的示意框圖;圖2示出了根據本發明實施例的用在圖1所示系統中的設置模塊和遍歷模塊的示意框圖;圖3示出了根據本發明實施例的用在圖2所示模塊中的凸多邊形遍歷方法的流程圖;圖4示出了根據本發明實施例的構造兩個邊界框的各種情況的示意圖;圖5示出了根據本發明實施例的兩個邊界框的遍歷起始位置的示意圖;圖6示出了計算每個邊界框中的每一個掃描行的起始掃描點的過程的示意圖;圖7示出了根據本發明實施例的用在圖2所示模塊中的凸多邊形插值方法的流程圖;以及圖8示出了根據本發明實施例的相對坐標系以及該坐標系中的待插值像素點及其相交邊和相交點的示意圖。
具體實施例方式圖1示出了凸多邊形光柵掃描系統的示意圖。如圖1所示,該凸多邊形光柵掃描系統包括頂點存儲器102、變換和投影模塊104、設置和遍歷模塊106、幀緩存模塊108、以及顯示模塊110。在對凸多邊形進行光柵掃描的過程中,首先將頂點信息(原始坐標)從頂點存儲器中讀出。然后,將頂點的原始坐標通過變換和投影模塊的運算轉換成光柵掃描系統的設備坐標。接著,設置和遍歷模塊106使用頂點的設備坐標來計算哪些像素位于凸多邊形內部,并且計算這些位于凸多邊形內部的像素的參數值(顏色/紋理)。最后,將這些像素的參數值寫入幀緩存模塊,并通過顯示模塊顯示出來。圖2示出了根據本發明實施例的用在圖1所示系統中的設置模塊和遍歷模塊的示意框圖。如圖2所示,設置和遍歷模塊具體分為設置模塊和遍歷模塊。其中,設置模塊利用凸多邊形的頂點坐標來計算凸多邊形的各條邊的邊方程并構造掃描邊界框。遍歷模塊利用凸多邊形各條邊的邊方程和邊界框信息判斷邊界框中的哪些像素位于凸多邊形內部并計算這些內部像素的參數值。圖3示出了根據本發明實施例的用在圖2所示模塊中的凸多邊形遍歷方法的流程圖。如圖3所示,該凸多邊形遍歷方法包括以下三個步驟S302,根據凸η邊形的η個頂點的坐標值,構造用在對凸η邊形進行光柵掃描的過程中的兩個邊界框,其中,η為大于2的整數;S304,為該兩個邊界框中的每一個設置遍歷起始位置;以及S306,分別從該兩個邊界框中的每一個的遍歷起始位置開始,對位于該兩個邊界框中的每一個中的凸η邊形部分進行遍歷。下面詳細描述圖3所示方法中的步驟S302。假設,凸多邊形的頂點為VtlJ1J2、…、 \。其中,每個頂點的坐標為(&,1),1 = 0、1、2、…、η。這里的&和Yi均為浮點值。用在對凸η邊形進行光柵掃描的過程中的兩個邊界框通過以下過程得到首先,獲取凸多邊形的頂點的X軸坐標值中的最小值和最大值、以及Y軸坐標值中的最小值和最大值fxmin = min(X0, X1, X2"'Xn) ;fxmax = max (X0, X1, X2"'Xn);fymin = min(Y0, Y1, t Yn) ;fymax = max (Y0, Y1, t Yn)。其中,min()、max ()函數返回η個變量的最大值和最小值。fxmin、fxmax、fymin、 fymax均為浮點值。然后,根據以上獲取的凸多邊形的頂點的X軸坐標值中的最小值和最大值,找出凸多邊形的最左邊的頂點Vlrft (其中,最左邊的頂點的X軸坐標值)(lrft = fxmin) 0接著,根據凸多邊形的最左邊的頂點的Y軸坐標值(Ylrft)與以上獲取的凸多邊形的頂點的Y軸坐標值的最小值和最大值的關系,構造用在對凸多邊形進行光柵掃描的過程中的邊界框(圖4示出了構造兩個邊界框的以下三種情況)情形1,Yleft = fymin。在這種情形下,上邊界框為空,下邊界框定義如下fxmin—bot = fxmin ;fxmax—bot = fxmax ;fymin—bot = fymin ;fymax—bot = fymax ;xmin—bot = ceil (fxmin—bot = fxmin);xmax—bot = floor (fxmax—bot = fxmax);ymin—bot = ceil (fymin—bot = fymin);ymax—bot = floor (fymax—bot = fymax)。其中,fxmin—bot、fxmax—bot、fymin—bot、fymax—bot 表示下邊界框在 X 方向的最大最小值(浮點)以及在Y方向的最大最小值(浮點)。min_bot、xmax_bot. ymin_bot. ymax—bot表示下邊界框在χ方向的最大/最小值(整點)以及在y方向的最大最小值(整點)。ceil (float—a)函數返回不小于a的最小整數,例如,ceil (1. 5) =2。Floor (float— a)函數返回不大于a的最大整數,例如,floord. 5) = 1。其中,當凸多邊形的頂點位于顯示平面之外時,假設顯示平面的顯示范圍為 [clip—xmin,clip—xmax],[clip—ymin,clip—ymax],需要進行如下裁剪操作if (xmin—bot < clip_xmin) xmin—bot = clip_xmin ;if (ymin—bot < clip_ymin) ymin—bot = clip_ymin ;if (xmax—bot > clip_xmax) xmax—bot = clip_xmax ;
if (ymax_bot > clip_ymax) ymax_bot = clip_ymax.經過以上過程,可以得到下邊界框的四個頂點的坐標(xmin—bot,ymin_bot), (xmin_bot,ymax一bot),(xmax_bot,ymin_bot),(xmax—bot,ymax_bot)。情形2,Yleft = f ymax ο在這種情形下,下邊界框為空,上邊界框定義如下fxmin—top = fxmin ;fxmax_top = fxmax ;fymin—top = fymin ;fymax—top = fymax ;xmin_top = ceil (fxmin—top) ;xmax_top = floor (fxmax_top);ymin—top = ceil (fymin_top) ;ymax—top = floor (fymax_top) 0同樣,如上所述,當凸多邊形的頂點位于顯示平面之外時,假設顯示平面的顯示范圍為[clip_xmin,clip—xmax],[clip—ymin,clip—ymax],需要進行如下裁剪操作if (xmin_top < clip—xmin)xmin—top = clip—xmin ;if (ymin—top < clip—ymin) ymin—top = clip—ymin ;if (xmax—top > clip—xmax) xmax—top = clip_xmax ;if (ymax—top > clip—ymax) ymax—top = clip—ymax。經過以上過程,可以得到上邊界框的四個頂點的坐標Oonir^top,ymin—top), (xmin—top,ymax一top),(xmax—top,ymin—top),(xmax—top,ymax—top)。情形 3,fymin < Yleft < fymax □在這種情形下,上邊界框定義如下fxmin—top = fxmin ;fxmax—top = fxmax ;fymin—top = fymin ;fymax_top = Yleft ;xmin—top = ceil (fxmin—top);xmax—top = floor (fxmax—top);ymin—top = ceil (fymin—top);ymax—top = floor (fymax—top)。下邊界框定義如下fxmin—bot = fxmin ;fxmax—bot = fxmax ;fymin—bot = Yleftfymax—bot = fymax ;xmin—bot = ceil (fxmin—bot);xmax—bot = floor (fxmax—bot);ymin—bot = ceil (fymin—bot);ymax—bot = floor (fymax—bot)。同樣,如上所述,當凸多邊形的頂點位于顯示平面之外時,假設顯示平面的顯示范圍為[clip—xmin,clip—xmax],[clip—ymin,clip—ymax],需要進行如下裁剪操作
if (xmin—top if (ymin—top if (xmax—top if (ymax—top if (xmin—bot if (ymin—bot if (xmax—bot if (ymax—bot
<clip—xmin)xmin—top
<clip—ymin)ymin—top
>clip_xmax)xmax_top
>clip_ymax)ymax_top
<clip_xmin)xmin—bot
<clip_ymin)ymin—bot
>clip_xmax)xmax—bot
>clip_ymax)ymax—bot
=clip_xmin =clip_ymin =clip_xmax =clip_ymax =clip_xmin =clip_ymin =clip_xmax =clip_ymax,過以上過程,可以得到上邊界框的四個頂點的坐標為Oonin—top,ymin—top), (xmin—top,ymax—top),(xmax—top,ymin—top),(xmax—top,ymax—top),下邊界框的四個丁頁點的坐標為(xmin—bot,ymin—bot),(xmin—bot,ymax—bot),(xmax—bot,ymin—bot),(xmax— bot, ymax—bot)。圖5示出了根據本發明實施例的兩個邊界框的遍歷起始位置的示意圖。如圖5所示,上邊界框的遍歷起始位置為上邊界框的左下角,下邊界框的遍歷起始位置為下邊界框的左上角。并且,在上邊界框中,按照從左到右、從下到上的方向對位于上邊界框中的凸多邊形部分進行遍歷,在下邊界框中,按照從左到右、從上到下的方向對位于下邊界框中的凸多邊形部分進行遍歷。圖6示出了計算每個邊界框中的每一個掃描行的起始掃描點的過程的示意圖。這個過程通過自適應地調整各掃描行的起始掃描點來遍歷邊界框。掃描過程包括三個階段1.從每一行的起始掃描點開始,沿著水平方向找到位于凸多邊形內的像素點。其中,像素點位于凸多邊形內等價于e0(x,y) > OMe1 (χ, y) > 0&&…&&en(x,y) > 0。
其中,ei(x,y) (i = 0,1,2
e0(x,y) = a0氺x+b0氺y+c0 β! (χ, y) = a^x+b^y+Ci e2 (χ, y) = a2氺x+b2氺y+c2
O是凸多邊形各條邊的邊方程…en(x, y) = an*x+bn*y+cn。2.當像素p(x,y)滿足以下條件時,結束當前行的掃描過程JnRightPolygon(X, y)為真;或者P(x,y)位于邊界框外。其中,InRightPolygon(x, y)函數是用來判斷像素 P(x,y)是否位于凸多邊形的右邊的函數。當p(x,y)相對于凸多邊形的某一條邊的邊方程值小于0并且這條邊的法線的水平分量不大于0時,判定ρ (x,y)位于凸多邊形的右邊。具體地,該函數定義如下InRightPolygon(x, y) {
if ((e0 (x,y) <0 && ao <= 0) |丨(d (x,y) <0 && ai <= 0)丨| …|| (en (x,y) <0 && an <= 0))
return true; else
return false;
}3.計算下一個掃描行的起始掃描點。下一個掃描行的起始掃描點通過計算之前兩行中第一個凸多邊形內部點之間的距離來得到。如圖6所出,當前掃描行的第一個凸多邊形內部點的坐標為(xc,yc),之前掃描行的第一個凸多邊形內部點的坐標為(xp,yp),下一個掃描行的起始掃描位置(xn,yn)計算方法如下delta_x = xc = = xp ? 0 :xc_xp_l ;delta_y = top_box == True ? —1:1;xn = xc+delta_x ;yn = yc+delta_y。其中,delta_x是xc和xp之間的距離。如果xc = xp,delta_x為0,否則delta_ χ等于xc-xp-1。delta_y取決于當前遍歷的是上邊界框還是下邊界框,如果遍歷的是上邊界框,則delta_y為-1,否則為1。可以通過用在圖形光柵掃描中的凸多邊形遍歷系統來實現上述方法。該凸多邊形遍歷系統包括邊界框構造單元,用于根據凸η邊形的η個頂點的坐標值,構造用在對凸η 邊形進行光柵掃描的過程中的兩個邊界框,其中,η為大于2的整數;起始位置設置單元,用于為該兩個邊界框中的每一個設置遍歷起始位置;以及圖形遍歷單元,用于從該兩個邊界框中的每一個的遍歷起始位置開始,對位于該兩個邊界框中的每一個中的凸η邊形部分進行遍歷。其中,所述兩個邊界框包括上邊界框和下邊界框,上邊界框的遍歷起始位置為上邊界框的左下角,下邊界框的遍歷起始位置為所述下邊界框的左上角。其中,邊界框構造單元包括最值獲取模塊,用于獲取凸η邊形的η個頂點的X軸坐標值中的最大值和最小值、以及Y軸坐標值中的最大值和最小值;框構造模塊,用于根據凸η邊形的η個頂點的X軸坐標值中的最大值和最小值、以及Y軸坐標值中的最大值和最小值,構造所述兩個邊界框。在凸η邊形的最左邊的頂點的Y軸坐標值是凸η邊形的η個頂點的Y軸坐標值中的最小值或最大值的情況下,邊界框構造單元將所述兩個邊界框中的其中一個邊界框構造為空,并將所述兩個邊界框中的另一個邊界框構造為該另一個邊界框的左邊兩個頂點的 X軸坐標值為不小于凸η邊形的η個頂點的X軸坐標值中的最小值的最小整數、右邊兩個頂點的X軸坐標值為不大于凸η邊形的η個頂點的X軸坐標值中的最大值的最大整數、上邊兩個頂點的Y軸坐標值為不小于凸η邊形的η個頂點的Y軸坐標值中的最小值的最小整數、并且下邊兩個頂點的Y軸坐標值為不大于凸η邊形的η個頂點的Y軸坐標值中的最大值的最大整數。
在凸η邊形的最左邊的頂點的Y軸坐標值在凸η邊形的η個頂點的Y軸坐標值中的最大值和最小值之間的情況下,邊界框構造單元將凸η邊形的上邊界框構造為上邊界框的左邊兩個頂點的X軸坐標值為不小于凸η邊形的X軸坐標值中的最小值的最小整數, 右邊兩個頂點的X軸坐標值為不大于凸η邊形的X軸坐標值中的最大值的最大整數,上邊兩個頂點的Y軸坐標值為不小于凸η邊形的Y軸坐標值中的最小值的最小整數,下邊兩個頂點的Y軸坐標值為不大于凸η邊形的最左邊的頂點的Y軸坐標值的最大整數,并將凸η 邊形的下邊界框構造為下邊界框的左邊兩個頂點的X軸坐標值為不小于凸η邊形的X軸坐標值中的最小值的最小整數,右邊兩個頂點的X軸坐標值為不大于凸η邊形的X軸坐標值中的最大值的最大整數,上邊兩個頂點的Y軸坐標值為不小于凸η邊形的最左邊的頂點的Y軸坐標值中的最小整數,下邊兩個頂點的Y軸坐標值為不大于凸η邊形的Y軸坐標值中的最大值的最大整數。其中,在上邊界框和/或下邊界框的一個或多個頂點位于顯示平面之外的情況下,邊界框構造單元根據顯示平面的顯示范圍對上邊界框和/或下邊界框進行裁剪。圖形遍歷單元通過自適應地調整各掃描行的起始掃描點來對位于所述兩個邊界框中的每一個中的凸η邊形部分進行遍歷,通過計算當前掃描行的前兩個掃描行中的第一個處于凸η邊形內部的點之間的距離來獲取當前掃描行的起始掃描點。圖7示出了根據本發明實施例的用在圖2所示模塊中的凸多邊形插值方法的流程圖。如圖7所示,該凸多邊形插值方法包括以下三個步驟S702,將凸多邊形從絕對坐標系轉換到以凸多邊形的任意一邊為坐標軸的相對坐標系;S704,根據位于凸多邊形內的待插值像素在該相對坐標系中的Y軸坐標值和凸多邊形的每條邊的頂點在該相對坐標系中的Y 軸坐標值,為待插值像素選擇相交邊;以及S706,利用該相交邊的頂點的參數值,插值得到待插值像素的參數值。具體地,首先要將多邊形從原來的絕對坐標系轉換到相對的位于多邊形上的坐標系。這樣做是為了避免多邊形在旋轉過程中會造成插值的不一致。多邊形上的坐標系以多邊形的任意一條邊(ViVw)作為X軸,以邊(ViVw)的法線作為Y軸,以Vi作為原點。多邊形上的坐標系中的Y坐標通過邊(ViVw)的邊方程計算得到,X坐標通過邊(ViVw)的法線的邊方程計算得到。其中,坐標變換過程如下邊(ViVitl)的邊方程定義為ei(x, y) = a^x+b^y+Ci ;邊(ViVitl)的法線的邊方程定義為Hi (x, y) = d^x+e^y+fi ;假設一個點在原先的坐標系中的坐標為P (x, y),經過坐標變換后的坐標為P (χ’, y'),其中,χ,= Iii (X,y) = di 氺 x+ei 氺 y+fi,y' = ei (χ, y) = ai 氺 x+bi 氺 y+ci。坐標變換完成后,將待插值像素的Y坐標與多邊形每條邊的兩個頂點的Y坐標進行比較,以選擇待插值像素的相交邊。假設多邊形的每條邊的兩個頂點為Va(xa,ya)和Yb ( ,yb)。如果該條邊為相交邊,則其頂點的Y坐標應該滿足以下條件ya < = y < = yb I I yb < = y < = ya。在利用相交邊進行插值運算的步驟中,通過相交邊的兩個頂點上的參數值插值得到相交點上的參數值,再利用兩個相交點上的參數值插值得到待插值像素的參數值。圖8示出了根據本發明實施例的相對坐標系以及該坐標系中的待插值像素點及其相交邊和相交點的示意圖。如圖8所示,假設待插值像素的兩條相交邊為eab和e。d。eab 的兩個頂點為va0ca,ya)和VbOcb,yb)。ecd的兩個頂點為VcOcc, yc)和Vd(xd, yd)。待插值像素為V(x,y)。eab的相交點為Vab(xab,yab)。e。d的相交點為V。dU。d,ycd)。以上坐標均位于多邊形上的坐標系中。Vab的坐標計算如下Xab = (xa* (yb-y) +Xb* (y-ya)) / (yb-ya);yab = y ;Vcd的坐標計算如下Xcd = (Xc* (yd-y) +xd* (y-yc)) / (yd-yc);ycd = y ;Va, Vb, Vc, Vd 的參數值為 Pa, Pb, Pc, PdoVab的參數值為Pab,計算如下Pab = (Pa* (Xb-Xab) +Pb* (Xab-Xa)) / (Xb-Xa);Vcd的參數值為P。d,計算如下Pcd = (Pc* (xd-xcd) +Pd* (xcd-xc)) / (xd-xc);待插值像素V (X,y)的參數值為P,計算如下P= (Pab* (Xcd-X) +Pcd* (X-Xab)) / (Xcd-Xab)。可以通過用在圖形光柵掃描中的凸多邊形插值系統來實現上述方法。該凸多邊形插值系統包括坐標系轉換單元,用于將凸多邊形從絕對坐標系轉換到以凸多邊形的任意一邊為坐標軸的相對坐標系;相交邊選擇單元,用于根據位于凸多邊形內的待插值像素在所述相對坐標系中的Y軸坐標值和凸多邊形的每條邊的頂點在相對坐標系中的Y軸坐標值,為待插值像素選擇相交邊;以及參數值計算單元,用于利用相交邊的頂點的參數值,插值得到待插值像素的參數值。其中,該相對坐標系是以凸多邊形的任意一條邊的一個頂點作為原點、以所述原點所在的邊作為X軸、并以所述原點所在的邊的法線作為Y軸的坐標系。待插值像素的Y軸坐標值和凸多邊形的每條邊的頂點的Y軸坐標值是通過該相對坐標系的X軸的邊方程計算得到的。待插值像素的X坐標值和凸多邊形的每條邊的頂點的X軸坐標值是通過該相對坐標系的Y軸的邊方程計算得到的。相交邊選擇單元通過比較待插值像素在所述相對坐標系中的Y軸坐標值和凸多邊形的每條邊的頂點在所述相對坐標系中的Y軸坐標值,為待插值像素選擇相交邊。參數值計算單元包括第一計算單元,用于利用相交邊的頂點的參數值,插值得到待插值像素所在掃描行與相交邊的相交點的參數值;第二計算單元,利用待插值像素所在掃描行與相交邊的相交點的參數值,插值得到待插值像素的參數值。本領域技術人員將理解,還存在可用于實現本發明實施例的更多可選實施方式和改進方式,并且上述實施方式和示例僅是一個或多個實施例的說明。因此,本發明的范圍僅由所附權利要求書限制。
權利要求
1.一種用在圖形光柵掃描中的凸多邊形插值方法,其特征在于,包括以下步驟S702,將凸多邊形從絕對坐標系轉換到以所述凸多邊形的任意一邊為坐標軸的相對坐標系;S704,根據位于所述凸多邊形內的待插值像素在所述相對坐標系中的Y軸坐標值和所述凸多邊形的每條邊的頂點在所述相對坐標系中的Y軸坐標值,為所述待插值像素選擇相交邊;以及S706,利用所述相交邊的頂點的參數值,插值得到所述待插值像素的參數值。
2.根據權利要求1所述的凸多邊形插值方法,其特征在于,所述相對坐標系是以所述凸多邊形的任意一條邊的一個頂點作為原點、以所述原點所在的邊作為X軸、并以所述原點所在的邊的法線作為Y軸的坐標系。
3.根據權利要求2所述的凸多邊形插值方法,其特征在于,所述待插值像素的Y軸坐標值和所述凸多邊形的每條邊的頂點的Y軸坐標值是通過所述相對坐標系的X軸的邊方程計算得到的。
4.根據權利要求3所述的凸多邊形插值方法,其特征在于,所述待插值像素的X坐標值和所述凸多邊形的每條邊的頂點的X軸坐標值是通過所述相對坐標系的Y軸的邊方程計算得到的。
5.根據權利要求1所述的凸多邊形插值方法,其特征在于,通過比較所述待插值像素在所述相對坐標系中的Y軸坐標值和所述凸多邊形的每條邊的頂點在所述相對坐標系中的Y軸坐標值,為所述待插值像素選擇相交邊。
6.根據權利要求1所述的凸多邊形插值方法,其特征在于,所述步驟S706包括以下子步驟利用所述相交邊的頂點的參數值,插值得到所述待插值像素所在掃描行與所述相交邊的相交點的參數值;利用所述待插值像素所在掃描行與所述相交邊的相交點的參數值,插值得到所述待插值像素的參數值。
7.—種用在圖形光柵掃描中的凸多邊形插值系統,其特征在于,包括坐標系轉換單元,用于將凸多邊形從絕對坐標系轉換到以所述凸多邊形的任意一邊為坐標軸的相對坐標系;相交邊選擇單元,用于根據位于所述凸多邊形內的待插值像素在所述相對坐標系中的 Y軸坐標值和所述凸多邊形的每條邊的頂點在所述相對坐標系中的Y軸坐標值,為所述待插值像素選擇相交邊;以及參數值計算單元,用于利用所述相交邊的頂點的參數值,插值得到所述待插值像素的參數值。
8.根據權利要求7所述的凸多邊形插值系統,其特征在于,所述相對坐標系是以所述凸多邊形的任意一條邊的一個頂點作為原點、以所述原點所在的邊作為X軸、并以所述原點所在的邊的法線作為Y軸的坐標系。
9.根據權利要求7所述的凸多邊形插值系統,其特征在于,所述待插值像素的Y軸坐標值和所述凸多邊形的每條邊的頂點的Y軸坐標值是通過所述相對坐標系的X軸的邊方程計算得到的。
10.根據權利要求9所述的凸多邊形插值系統,其特征在于,所述待插值像素的X坐標值和所述凸多邊形的每條邊的頂點的X軸坐標值是通過所述相對坐標系的Y軸的邊方程計算得到的。
11.根據權利要求7所述的凸多邊形插值系統,其特征在于,所述相交邊選擇單元通過比較所述待插值像素在所述相對坐標系中的Y軸坐標值和所述凸多邊形的每條邊的頂點在所述相對坐標系中的Y軸坐標值,為所述待插值像素選擇相交邊。
12.根據權利要求7所述的凸多邊形插值系統,其特征在于,所述參數值計算單元包括第一計算單元,用于利用所述相交邊的頂點的參數值,插值得到所述待插值像素所在掃描行與所述相交邊的相交點的參數值;第二計算單元,利用所述待插值像素所在掃描行與所述相交邊的相交點的參數值,插值得到所述待插值像素的參數值。
全文摘要
本發明公開了一種用在圖形光柵掃描中的凸多邊形插值方法和系統。其中,該遍歷方法包括以下步驟根據凸n邊形的n個頂點的坐標值,構造用在對凸n邊形進行光柵掃描的過程中的兩個邊界框,其中,n為大于2的整數;為該兩個邊界框中的每一個設置遍歷起始位置;以及分別從該兩個邊界框中的每一個的遍歷起始位置開始,對位于該兩個邊界框中的每一個中的凸n邊形部分進行遍歷。通過本發明,可以減少在對圖形光柵掃描的過程中的計算量,從而可以增快圖形光柵掃描設備的處理速度,節省處理時間。
文檔編號G09G5/36GK102543040SQ20111027769
公開日2012年7月4日 申請日期2008年12月15日 優先權日2008年12月15日
發明者洲鐮康, 白向暉, 譚志明 申請人:富士通株式會社