System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 久久久久亚洲?V成人无码,亚洲AV综合色区无码二区偷拍,亚洲成AV人在线播放无码
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于網格行構建條帶結構的點在多邊形內判斷方法技術

    技術編號:42184574 閱讀:13 留言:0更新日期:2024-07-30 18:37
    本發明專利技術公開了一種基于網格行構建條帶結構的點在多邊形內判斷方法。所述方法包括:根據多邊形所在直角坐標系生成對齊坐標軸的包圍盒,然后將包圍盒劃分成若干等寬的網格行,再在此網格行內生成條帶,各個條帶記錄其所包含的多邊形的邊、以及該條帶上端邊界向下指向多邊形內或外的屬性。測試時,從測試點發出向上的射線,測試其與所在條帶中的多邊形的邊的相交情況,直至該射線抵達所在條帶的上端邊界;如果從測試點發出的射線與多邊形相交的邊有偶數個,則測試點位于多邊形內或外的屬性,就是其所在條帶的上端邊界向下指向多邊形內或外的屬性;否則相反。所述方法節省了創建條帶的計算開銷和空間開銷,可大幅提升處理效率。

    【技術實現步驟摘要】

    本專利技術屬于計算機圖形學、地理信息系統處理領域,具體來說是一種基于網格行構建條帶結構的點在多邊形內判斷方法,即:對于一個點的空間位置,判斷該位置是否位于一個多邊形所限定的空間區域內的方法。


    技術介紹

    1、點是否位于多邊形內的判定計算,是計算幾何中的一個基本問題,這方面的方法在計算機圖形學、模式識別、計算機輔助設計、地理信息系統等眾多領域有著廣泛的應用。這方面的方法可分為兩類,逐邊處理的方法,及對多邊形的邊進行一定組織管理的方法。

    2、在前一類方法中,最常用的是射線法,即從被檢測點發出一條射線,計算與它相交的多邊形的邊的數量,如果相交數量是奇數,則該點位于多邊形內;否則位于多邊形外。這類方法需要處理多邊形的每條邊,時間復雜度高,為o(n),n是多邊形的邊數。

    3、在后一類方法中,主要是對多邊形的邊、或所覆蓋的區域等進行一定的組織和管理,使得檢測計算時無需處理多邊形的所有邊,因而可降低檢測時間復雜度,加快計算速度。比如著名的梯形剖分法,用經過頂點的平行坐標軸的直線,將多邊形剖分成一些梯形,再根據梯形坐標值進行單調增加或降低的順序排列;這樣,檢測計算時可利用二分查找技術,以避免處理很多邊,將檢測計算的時間復雜度降至o(logn),n是多邊形的邊數。

    4、在已有的各種方法中,網格法是一種應用廣泛的方法,因為其實現簡便、檢測效率高。該方法是對多邊形的與坐標軸對齊的包圍盒進行均勻的網格劃分,并在每個網格單元中記錄所包含的多邊形的邊;然后,檢測一個點時,根據網格劃分的均勻性,以o(1)的計算開銷知曉包含該點的網格單元,由此,只需考察該網格單元所包含的邊,即可知該點是否位于多邊形內。該方法能有效利用網格單元的局部性計算提高檢測效率。

    5、網元法,基于網格單元進行條帶結構的創建,即根據一個網格單元中所包含的多邊形的片段,由這些片段的首末端點的橫坐標生成平行縱軸的分隔線,就得到了該網格單元的條帶劃分結構。但相鄰2個網格單元的分隔線的左右2個條帶可能是同性的,即所包含的多邊形的邊的情況一樣、且上端邊界向下指向多邊形內或外的屬性一致。這些冗余的條帶,增加了創建條帶的計算開銷和存儲條帶的空間開銷。同時,基于網格單元進行條帶結構的創建,空間開銷太大,使得對于較大規模的多邊形,不便在gpu上進行條帶的創建,妨礙了動態多邊形處理的效率提升。


    技術實現思路

    1、為解決上述技術問題,本專利技術提出了一種基于網格行構建條帶的點在多邊形內判斷方法,即以網格行為單位進行條帶的創建。這樣,可消除一個網格行中相鄰網格單元可能冗余創建同性條帶的問題。由此,將減少需要創建的條帶數量,減少計算開銷和空間需求,并由于空間開銷的降低,使得本專利技術方法可在gpu上進行條帶創建的工作。

    2、為實現上述目的,本專利技術采用的技術方案如下:

    3、一種基于網格行構建條帶結構的點在多邊形內判斷方法,所述方法包括如下步驟:

    4、步驟1、根據多邊形所在直角坐標系生成對齊坐標軸的包圍盒,利用網格劃分橫線將此包圍盒劃分成若干等寬的網格行,再在各網格行內生成管理多邊形的邊的條帶結構,所述條帶結構包括至少一個條帶,所述條帶記錄其所包含的多邊形的邊、以及該條帶上端邊界向下指向多邊形內或外的屬性信息;

    5、步驟2、根據測試點的位置坐標,找到包含該測試點的條帶;

    6、步驟3、從測試點發出向上的射線,判斷其與所在條帶中的多邊形的邊的相交情況,直至該射線抵達所在條帶的上端邊界;如果從測試點發出的向上的射線與多邊形的偶數個邊相交,則測試點位于多邊形內或外的屬性,就是其所在條帶的上端邊界向下指向多邊形內或外的屬性;否則,測試點位于多邊形內或外的屬性,就是其所在條帶的上端邊界向下指向多邊形內或外的屬性的相反屬性。

    7、進一步的,所述步驟1包括:

    8、步驟1.1、對多邊形的每條邊,計算其與各個網格劃分橫線的交點的橫坐標,該交點的縱坐標即網格劃分橫線的縱坐標;

    9、步驟1.2、對于每一網格行,根據其上、下兩條網格劃分橫線上與多邊形邊的交點的橫坐標、以及位于該網格行中的多邊形的頂點的橫坐標,生成平行于直角坐標系縱軸的直線,所述直線將該網格行劃分成若干個條帶;

    10、步驟1.3、根據多邊形的邊在一個網格行中的片段的橫坐標范圍,確定該網格行中的哪些條帶包含該多邊形的邊;

    11、步驟1.4、每條網格劃分橫線,被其與多邊形的邊的交點分割成若干橫線片段;根據射線法獲得所述若干橫線片段位于多邊形內或外的屬性,基于各個條帶的上端邊界只能位于一個橫線片段中,確定各個條帶的上端邊界向下指向多邊形內或外的屬性;

    12、步驟1.5、對一個網格行中創建的若干個條帶,根據若干個條帶的橫坐標進行順序排列,并以一個數組管理;

    13、步驟1.6、將每個網格行劃分成均勻的網格單元,各網格單元記錄并管理其所包含的條帶情況。

    14、本專利技術的有益效果在于:

    15、相比網元法,本專利技術的行元法,基于網格行進行條帶結構的創建,消除了一個網格行中相鄰2個條帶同性的情況。這樣,可節省創建條帶的計算開銷和空間開銷。由于基于網格行進行條帶結構的創建,本專利技術只需保證一個網格行能處理所有邊即可,因此,創建條帶的空間預期開銷為o(n),是包圍盒劃分成的網格行數量。這樣,就大幅降低了空間需求,可在gpu上進行條帶的創建,可大幅提升動態多邊形的處理效率。

    16、由于行元法是對一行中的條帶進行統一管理,而網元法是對各個網格單元內的條帶進行各自的管理,因而,行元法對于條帶的組織管理更緊湊,使得編譯器能夠優化出效率更高的尋址操作來找到對應條帶。在實驗中,尋找測試點所在的條帶地址,行元法僅需1條指令,而網元法需要2條指令。因此,測試計算時,行元法相比網元法,有一定的加速效果。

    本文檔來自技高網...

    【技術保護點】

    1.一種基于網格行構建條帶結構的點在多邊形內判斷方法,其特征在于,所述方法包括如下步驟:

    2.根據權利要求1所述的一種基于網格行構建條帶結構的點在多邊形內判斷方法,其特征在于,所述步驟1包括:

    【技術特征摘要】

    1.一種基于網格行構建條帶結構的點在多邊形內判斷方法,其特征在于,所述方法包括如下步驟:

    ...

    【專利技術屬性】
    技術研發人員:王文成李佳瑋
    申請(專利權)人:中國科學院軟件研究所
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲AV无码国产剧情| 精品亚洲av无码一区二区柚蜜| 亚洲成av人片天堂网无码】| 一本天堂ⅴ无码亚洲道久久| 性饥渴少妇AV无码毛片| 一级片无码中文字幕乱伦| 无码人妻视频一区二区三区| 无码av无码天堂资源网| 久久无码人妻一区二区三区午夜| 国产人成无码视频在线观看| 亚洲AV无码日韩AV无码导航| 日韩精品无码久久一区二区三| 亚洲国产av高清无码| 亚洲日韩激情无码一区| 人妻丝袜无码专区视频网站| 亚洲中文字幕久久精品无码VA| 无码专区中文字幕无码| 人妻少妇无码精品视频区| 无码人妻一区二区三区免费视频 | 日韩精品无码久久一区二区三| 久久久久无码精品亚洲日韩| 精品人妻系列无码人妻免费视频| 伊人无码精品久久一区二区 | 国产成人精品无码一区二区老年人| 亚洲2022国产成人精品无码区 | 性无码免费一区二区三区在线| 亚洲人成无码网WWW| 无码人妻精品一区二| 久久久久久久久无码精品亚洲日韩| 亚洲av无码专区在线| 最新中文字幕av无码专区| 99精品一区二区三区无码吞精| 久久美利坚合众国AV无码| 日韩免费无码视频一区二区三区 | 亚洲欧洲无码一区二区三区| 亚洲av无码不卡一区二区三区| 成人无码一区二区三区| 国精品无码A区一区二区| 国产亚洲大尺度无码无码专线| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻系列av无码一区二区 | 亚洲av无码片在线观看|