1.一種弧段多邊形二維布爾運(yùn)算方法,其特征在于,包括:
步驟S101,依次讀入主體A和主體B的數(shù)據(jù),剔除主體A和主體B多余的共線點(diǎn);
步驟S102,計(jì)算主體A和主體B的島、洞,以及每個(gè)島、洞對(duì)應(yīng)的交點(diǎn)和子邊的數(shù)據(jù),并計(jì)算島的最低子邊;
步驟S103,創(chuàng)建島和洞與自身對(duì)應(yīng)的交點(diǎn)的哈希映射關(guān)系,為每個(gè)交點(diǎn)建立其與子邊的映射關(guān)系;
步驟S104,通過迭代算法計(jì)算每個(gè)島和洞的子邊的繞數(shù)值;
步驟S105,通過所述繞數(shù)值進(jìn)行主體A和主體B的并集、差集、交集布爾運(yùn)算。
2.根據(jù)權(quán)利要求1所述的一種弧段多邊形二維布爾運(yùn)算方法,其特征在于,所述島為封閉逆時(shí)針方向走向多邊形;所述洞為所述島內(nèi)的順順時(shí)針方向多邊形;所述交點(diǎn)為所述多邊形兩兩邊段的銜接點(diǎn)或相交點(diǎn);所述子邊為兩個(gè)所述交點(diǎn)間的邊段。
3.根據(jù)權(quán)利要求2所述的一種弧段多邊形二維布爾運(yùn)算方法,其特征在于,所述創(chuàng)建島和洞與自身對(duì)應(yīng)的交點(diǎn)的哈希映射關(guān)系,為每個(gè)交點(diǎn)建立其與子邊的映射關(guān)系,具體包括:
使用迭代法建立每個(gè)交點(diǎn)與子邊的映射關(guān)系。
4.根據(jù)權(quán)利要求1所述的一種弧段多邊形二維布爾運(yùn)算方法,其特征在于,所述通過迭代算法計(jì)算每個(gè)島和洞的子邊的繞數(shù)值,具體包括:
定義繞數(shù)值為子邊被多邊形環(huán)繞的次數(shù);
子邊的繞數(shù)初始值為0,若子邊被某多邊形環(huán)繞,如果所述多邊形是逆時(shí)針,那么子邊的繞數(shù)值加1;如果所述多邊形是順時(shí)針,那么子邊的繞數(shù)值減1。