亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法

文檔序號:6568326閱讀:466來源:國知局
專利名稱:最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機圖形學(xué)中判斷點與多邊形位置關(guān)系的技術(shù)領(lǐng)域,尤其涉及一種最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法。
背景技術(shù)
判定點與簡單多邊形的拓撲關(guān)系是地理信息系統(tǒng)、地理學(xué)、分析計算機圖形學(xué)、計算幾何、計算機輔助設(shè)計、圖形圖像處理等領(lǐng)域的一個非常基礎(chǔ)并且常見但又十分重要的問題,因此多年來國內(nèi)外學(xué)者對于這個問題作了大量的研究,形成了很多種算法來解決這個問題。目前常見的方法有射線法、叉積計算法、旋轉(zhuǎn)角度法、相關(guān)邊法、面積判別法等。其中叉積計算法要同時對所有邊進行叉積計算;旋轉(zhuǎn)角度法要進行復(fù)雜的三角運算;相關(guān)邊法要遍歷多遍所有邊尋找對應(yīng)相關(guān)邊,并且需對相關(guān)邊進行叉積計算;面積判別法在預(yù)處理時需要耗費大量時間。而射線法原理容易理解,算法實現(xiàn)簡單,應(yīng)用最為廣泛,并且只有射線法才能解決點與內(nèi)部有空洞的環(huán)狀多邊形的拓撲關(guān)系。但是射線法在實際使用中,需要處理一些特殊的臨界狀況,例如射線與多邊形某一條邊共線或者射線經(jīng)過多邊形頂點。

發(fā)明內(nèi)容
本發(fā)明的目的是為克服現(xiàn)有技術(shù)存在的問題,提供一種最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法。最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法的步驟如下1)以待判定點P(1為原點建立直角坐標系;2)比較待判定點Ptl的X坐標和y坐標與多邊形P中各點X坐標和y坐標的最大值和最小值,當存在待判定點Ptl的X坐標小于多邊形P中各點X坐標的最小值、待判定點 Po的X坐標大于多邊形P中各點X坐標的最大值、y坐標或待判定點Po的y坐標小于多邊形P中各點y坐標的最小值或待判定點Ptl的y坐標大于多邊形P中各點y坐標的最大值, 直接確定待判定點Po在多邊形P的外部;3)判斷待判定點P。的χ坐標 、y坐標yQ與多邊形P(Pll)2…Pn)各條邊PiPw,i = 1,2,3,…,η 是否|薛足;χ0(γ「γ +1)-γ0(χ「χ +1) = Xi^yi-XiYi+! Λ η η(χ”χ +1) ^ x0 ^ max (Xi, xi+1) Λ min(yi,yi+1) ^ y0 ^ max (yi yi+1), i = 1,2,3,…,n,如果是,則待判定點 p。(x。,y0) 在多邊形P的邊上;4)判斷待判定點ρ。的χ坐標&、y坐標yQ與多邊形P中各點χ坐標和y坐標的最大值和最小值 Xmax, Xmin,ymax,ymin 是否滿足 =Xmin V X0 = xmax V y0 = ymin V y0 = ymax,如果是,則待判定點Po (χ。,Y0)在多邊形P的外部;5)找出多邊形P的最大斜率,若大于等于10,則從待判定點Ptl出發(fā)做一條斜率為最大斜率兩倍的射線;若小于10或不存在,則做一條斜率為10的射線;6)計算射線與多邊形的交點個數(shù),奇數(shù)則Ptl在多邊形P的內(nèi)部,否則待判定點Ptl在多邊形P的外部。所述的步驟2)包括(1)求出多邊形P中各點χ坐標和y坐標的最大值和最小值,分別記為Iax,Xfflin,
Ymax,^min ‘(2)如果待判定點Ptl的χ坐標&大于iax、χ坐標&小于iin、y坐標yQ大于ymax 或1坐標Iq小于ymin,則待判定點Po(χ。,y0)在多邊形P的外部。所述的步驟5)包括(1)計算多邊形 Ρ(Ριρ2···ρη)中各點的斜率 I^ki = (Yi-Yo)Z(Xi-Xo)'! = 1,2,…, n,取出Ici中最大的記為kmax,如果kmax小于10,則kmax令=10 ;(2)以待判定點Ptl為起始點向右上方做一條斜率為2kmax的射線。所述的步驟6)包括(1)找出射線上Y軸坐標等于ymax的點,記為Pm(xm,ym),令i = 1,射線與多邊形的交點個數(shù) M = O, pn+1 (xn+1, yn+1) = P1 (X1, Y1);(2)如果多邊形 P 的一條邊 PiPw 滿足(Xi < X0 Λ xi+1 < x0) V (Yi < y0 Λ < y0) V (yrYo > 0 Λ Gi-Yci) < kmax (Xi-X0) Λ Xi-^ >
權(quán)利要求
1.一種最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法,其特征在于它的步驟如下1)以待判定點Po為原點建立直角坐標系;2)比較待判定點Ptl的χ坐標和y坐標與多邊形P中各點χ坐標和y坐標的最大值和最小值,當存在待判定點Ptl的χ坐標小于多邊形P中各點χ坐標的最小值、待判定點Ptl的χ 坐標大于多邊形P中各點χ坐標的最大值、y坐標或待判定點Po的y坐標小于多邊形P中各點y坐標的最小值或待判定點Ptl的y坐標大于多邊形P中各點y坐標的最大值,直接確定待判定點Po在多邊形P的外部;3)判斷待判定點PtlWx坐標 、y坐標%與多邊形P(P1Ivin)各條邊PiPi+1,i = 1, 2,3,…,η 是否 薛足;S0(又廠又樹)-Y0(Xi-Xw) =Xi^yi-XiywAmin(XpXw) ^ x0 ^ max(Xi, xi+1) Λ min(yi,yi+1) ^ y0 ^ max (yi yi+1), i = 1,2,3,…,n,如果是,則待判定點 p。(x。,y0) 在多邊形P的邊上;4)判斷待判定點Ptl的χ坐標X(1、y坐標與多邊形P中各點χ坐標和y坐標的最大值和最小值 Iax,xmin,ymax,ymin 是否滿足 =Xmin V X0 = xmax V y0 = ymin V y0 = ymax,如果是,則待判定點Po (χ。,Y0)在多邊形P的外部;5)找出多邊形P的最大斜率,若大于等于10,則從待判定點Ptl出發(fā)做一條斜率為最大斜率兩倍的射線;若小于10或不存在,則做一條斜率為10的射線;6)計算射線與多邊形的交點個數(shù),奇數(shù)則Ptl在多邊形P的內(nèi)部,否則待判定點Ptl在多邊形P的外部。
2.根據(jù)權(quán)利要求1所述的一種基于最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法,其特征在于所述的步驟2、包括(1)求出多邊形P中各點χ坐標和y坐標的最大值和最小值,分別記為^iax,xfflin, yfflax,Yrnin >(2)如果待判定點Ptl的χ坐標&大于χ_、χ坐標&小于iin、y坐標%大于ymax或y 坐標%小于ymin,則待判定點P。U。,Y0)在多邊形P的外部。
3.根據(jù)權(quán)利要求1所述的一種基于最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法,其特征在于所述的步驟幻包括(1)計算多邊形P(P1P2'"Pn)中各點的斜率 ki; ki = (Yi-Yo)Z(Xi-Xo)' i = 1,2,…,η, 取出h中最大的記為kmax,如果kmax小于10,則kmax令=10 ;(2)以待判定點Ptl為起始點向右上方做一條斜率為Aax的射線。
4.根據(jù)權(quán)利要求1所述的一種基于最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法,其特征在于所述的步驟6)包括(1)找出射線上Y軸坐標等于ymax的點,記為Pm(xm,ym),令i= 1,射線與多邊形的交點個數(shù) M = 0,pn+1 (xn+1, yn+1) = P1 (X1, Y1);(2)如果多邊形P 的一條邊 PiPw 滿足
全文摘要
本發(fā)明公開了一種最大斜率射線算法判定點與多邊形空間位置關(guān)系的方法。包括如下步驟1)以待判定點p0為原點建立直角坐標系;2)判斷是否存在特殊情況,可以直接確定p0在多邊形P的邊上或外部;3)找出多邊形P的最大斜率,若大于等于10,則從p0出發(fā)做一條斜率為最大斜率兩倍的射線;若小于10或不存在,則做一條斜率為10的射線;4)計算射線與多邊形的交點個數(shù),奇數(shù)則p0在多邊形P的內(nèi)部,否則p0在多邊形P的外部。本發(fā)明有效避免了傳統(tǒng)射線法可能出現(xiàn)的特殊相交狀況發(fā)生,在計算機圖形學(xué)領(lǐng)域具有重要的實際應(yīng)用價值,應(yīng)用前景較廣。
文檔編號G06T11/20GK102360509SQ20111031830
公開日2012年2月22日 申請日期2011年10月19日 優(yōu)先權(quán)日2011年10月19日
發(fā)明者劉仁義, 張豐, 杜震洪, 許從余, 陳明 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1