国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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