国产精品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>

      一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置的制作方法

      文檔序號(hào):6598823閱讀:222來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及圖形處理領(lǐng)域,尤其涉及一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置。
      背景技術(shù)
      多邊形可以看作為由多條直線段向量,曲線段向量連接而成的向量鏈表,該鏈表首尾相聯(lián)構(gòu)成循環(huán)鏈表。如果這個(gè)循環(huán)鏈表中相鄰向量的交點(diǎn)是它們之間共用的單個(gè)點(diǎn), 同時(shí)不相鄰的向量不相交,則該鏈表描述的多邊形為簡(jiǎn)單多邊形。一般在表示物體的輪廓時(shí)或者表示一個(gè)路徑細(xì)節(jié)時(shí),都是采用二維或多維的多邊形進(jìn)行描述的。在相應(yīng)的領(lǐng)域經(jīng)常需要直接對(duì)多邊形進(jìn)行處理。例如計(jì)算機(jī)輔助設(shè)計(jì)與制造(CAD/CAM)中對(duì)機(jī)械結(jié)構(gòu),土建工程等的設(shè)計(jì);集成電路版圖設(shè)計(jì)和繪制;機(jī)器人路徑規(guī)劃;地理信息系統(tǒng)中的路徑規(guī)劃等。在對(duì)多邊形的處理與運(yùn)算中,邏輯運(yùn)算是最基本的運(yùn)算方式,包括多邊形的求交集、求并集等操作。在原來(lái)的大部分圖形圖像處理軟件中,對(duì)多邊形間的運(yùn)算處理都是光柵化后,直接采用點(diǎn)陣的運(yùn)算實(shí)現(xiàn)。例如求解兩個(gè)多邊形的交集,是通過(guò)如下的方式獲取的。首先將第一個(gè)多邊形采用圖形學(xué)的相關(guān)算法生成相應(yīng)的黑白點(diǎn)陣,其中黑點(diǎn)表示該點(diǎn)在區(qū)域范圍內(nèi),白點(diǎn)表示該點(diǎn)在區(qū)域范圍外;然后采用同樣的方法將第二個(gè)多邊形生成相應(yīng)的黑白點(diǎn)陣,然后將兩個(gè)黑白點(diǎn)陣求交集,即同一位置點(diǎn)上只有都為黑點(diǎn)是結(jié)果才為黑點(diǎn)。同樣求解兩個(gè)多邊形的并集也可以采用同樣的方法進(jìn)行實(shí)現(xiàn)。但是在圖形處理領(lǐng)域更多的需要是對(duì)多邊形或輪廓進(jìn)行矢量化的處理,要求處理前后都是以矢量方式描述對(duì)應(yīng)的多邊形或輪廓,因而這種點(diǎn)陣化的處理方式已經(jīng)無(wú)法滿(mǎn)足目前各個(gè)領(lǐng)域內(nèi)對(duì)圖形處理的需要。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供了一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置,用于實(shí)現(xiàn)對(duì)簡(jiǎn)單多邊形和復(fù)雜多邊形進(jìn)行矢量化邏輯運(yùn)算處理。本發(fā)明實(shí)施例提供的一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法,包括確定組成各多邊形的各個(gè)第一向量,以及所述各個(gè)第一向量的交點(diǎn);對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處分解為多個(gè)第二向量;遍歷各第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合點(diǎn);根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出; 所述關(guān)聯(lián)向量為端點(diǎn)為重合點(diǎn)的第一向量和/或第二向量。本發(fā)明實(shí)施例提供的一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的裝置,包括第一確定單元,用于確定組成各多邊形的各個(gè)第一向量,以及各個(gè)第一向量的交
      點(diǎn)分解單元,用于對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處進(jìn)行分解為多個(gè)第二向量;
      第二確定單元,用于遍歷各第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合點(diǎn);邏輯計(jì)算結(jié)果輸出單元,用于根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出;所述關(guān)聯(lián)向量為端點(diǎn)為重合點(diǎn)的第一向量和/或第二向量。本發(fā)明實(shí)施例的有益效果包括本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置,首先確定組成各多邊形的各個(gè)第一向量,以及所述各個(gè)第一向量的交點(diǎn),對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處分解為多個(gè)第二向量,遍歷各個(gè)第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合點(diǎn),根據(jù)重合點(diǎn)每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出,本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置,能夠?qū)M(jìn)行邏輯運(yùn)算的多個(gè)多邊形出現(xiàn)線段相交或重合的各種情況進(jìn)行處理,對(duì)于參與邏輯計(jì)算的多邊形的復(fù)雜度及數(shù)量都沒(méi)有限制,可以實(shí)現(xiàn)對(duì)多個(gè)形狀復(fù)雜的多邊形進(jìn)行矢量化的邏輯運(yùn)算處理,并且不用判斷各多邊形所有的向量是否符合邏輯運(yùn)算結(jié)果,進(jìn)行只需要對(duì)重合點(diǎn)的關(guān)聯(lián)向量進(jìn)行判斷,將其中符合邏輯運(yùn)算結(jié)果的向量輸出,得到多邊形邏輯運(yùn)算的結(jié)果,運(yùn)算效率較高。


      圖1為本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法的流程圖;圖2為本發(fā)明實(shí)施例提供的組成多邊形P和多邊形Q向量示意圖;圖3為本發(fā)明實(shí)施例提供的多邊形P和多邊形Q分解后的向量示意圖;圖4為本發(fā)明實(shí)施例提供的輸出多邊形P和多邊形Q的交集的結(jié)果的示意圖;圖5為本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的裝置的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式下面結(jié)合附圖,用具體實(shí)施例對(duì)本發(fā)明提供的一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置進(jìn)行詳細(xì)的說(shuō)明。本發(fā)明實(shí)施例提供的一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法,如圖1所示,包括如下幾個(gè)步驟S101、確定組成各多邊形的各個(gè)第一向量,以及各個(gè)第一向量的交點(diǎn);S102、對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處進(jìn)行分解為多個(gè)第二向量;S103、遍歷各第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合
      點(diǎn);S104、根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出;關(guān)聯(lián)向量為端點(diǎn)為重合點(diǎn)的第一向量和/或第二向量。下面對(duì)上述各步驟進(jìn)行詳細(xì)地說(shuō)明。SlOl中,確定組成待運(yùn)算的各多邊形的第一向量,具體來(lái)說(shuō),就是對(duì)每個(gè)多邊形按照順時(shí)針或逆時(shí)針的順序依次確定出連接各端點(diǎn)和\或控制點(diǎn)的第一向量。構(gòu)成多邊形的基本單元是端點(diǎn)或者控制點(diǎn),某一端點(diǎn)直接指向相鄰的另一端點(diǎn)的向量為直線向量,某一端點(diǎn)指向?qū)?yīng)的控制點(diǎn)再指向相鄰的另一端點(diǎn)的向量為曲線向量。多邊形的每個(gè)端點(diǎn)或控制點(diǎn)按照順時(shí)針或逆時(shí)針的順序排序,每個(gè)端點(diǎn)或控制點(diǎn)都包含自身指向后一個(gè)端點(diǎn)的前向向量,以及前一個(gè)端點(diǎn)或控制點(diǎn)指向自身的后向向量。確定多邊形的每個(gè)端點(diǎn)或控制點(diǎn)的前向向量和后相向量,將相同的向量合并,得到的首尾相連的各個(gè)向量即為該多邊形的各個(gè)向量。步驟SlOl中確定各第一向量的交點(diǎn),具體過(guò)程如下確定各第一向量的端點(diǎn)在X和Y坐標(biāo)軸上的坐標(biāo)值;根據(jù)各個(gè)第一向量的端點(diǎn)的坐標(biāo)值之間的位置關(guān)系,確定存在相交關(guān)系的第一向量之間的交點(diǎn)。在X、Y坐標(biāo)軸中,確定每個(gè)向量的左端點(diǎn)和右端點(diǎn),其中左端點(diǎn)為X坐標(biāo)值較小的端點(diǎn),右端點(diǎn)為X坐標(biāo)值較大的端點(diǎn),如果向量的兩個(gè)端點(diǎn)的X坐標(biāo)值相等,則確定Y坐標(biāo)較大的端點(diǎn)為左端點(diǎn),Y坐標(biāo)較小的為右端點(diǎn)。如果在X軸和Y軸方向上,兩個(gè)向量例如向量A和向量B的左右端點(diǎn)出現(xiàn)相互交錯(cuò)的現(xiàn)象,例如X軸方向上,向量A的左端點(diǎn)在向量B的左、右端點(diǎn)之間,而在Y軸方向上, 向量B的左端點(diǎn)在向量A的左右端點(diǎn)之間,則可以判斷向量A和向量B之間相交。求解所有相交的直線向量、曲線向量之間的交點(diǎn)的坐標(biāo)。S102中對(duì)存在交點(diǎn)但交點(diǎn)不是端點(diǎn)的第一向量在交點(diǎn)處進(jìn)行分解,第一向量為直線向量的,分解后生成的多個(gè)第二向量也是直線向量,第一向量為曲線向量的,分解后生成的多個(gè)第二向量為曲線向量。經(jīng)過(guò)S102的操作后,分解后生成的第二向量和未分解的第一向量,除了端點(diǎn)處相連之外,向量之間不存在交點(diǎn)。在上述步驟S103中,確定出重合點(diǎn)之后,還包括判斷重合點(diǎn)的關(guān)聯(lián)向量是否存在重合的向量。對(duì)于每個(gè)重合點(diǎn)來(lái)說(shuō),其關(guān)聯(lián)向量如果存在重合的關(guān)系,那么,將重合的關(guān)聯(lián)向量記錄為同一個(gè)向量。上述步驟S104中,如果邏輯運(yùn)算為求交集的運(yùn)算,則遍歷每個(gè)重合點(diǎn)的各關(guān)聯(lián)向量,如果某個(gè)關(guān)聯(lián)向量為某個(gè)多邊形的邊界,同時(shí)該關(guān)聯(lián)向量又位于另一個(gè)多邊形的填充區(qū)域內(nèi),該關(guān)聯(lián)向量為符合邏輯運(yùn)算結(jié)果的向量。如果邏輯運(yùn)算為求并集的運(yùn)算,則遍歷每個(gè)重合點(diǎn)的各關(guān)聯(lián)向量,如果某個(gè)關(guān)聯(lián)向量為某個(gè)多邊形的邊界,同時(shí)該關(guān)聯(lián)向量又位于另一個(gè)多邊形的填充區(qū)域之外,該關(guān)聯(lián)向量為符合邏輯運(yùn)算結(jié)果的向量。上述步驟S104中,輸出符合邏輯運(yùn)算結(jié)果的向量,具體過(guò)程如下步驟a、設(shè)置某個(gè)重合點(diǎn)為運(yùn)算結(jié)果多邊形的起點(diǎn),輸出該起點(diǎn)符合邏輯運(yùn)算結(jié)果的關(guān)聯(lián)向量作為當(dāng)前向量輸出;如果該起點(diǎn)符合邏輯運(yùn)算結(jié)果的關(guān)聯(lián)向量有多個(gè),可以選擇其中任一個(gè)關(guān)聯(lián)向量作為當(dāng)前向量輸出,根據(jù)輸出的順序,確定輸出的關(guān)聯(lián)向量的前端點(diǎn)和后端點(diǎn)。判斷當(dāng)前向量的后端點(diǎn)是否屬于重合點(diǎn)以及是否屬于起點(diǎn),并根據(jù)判斷的結(jié)果執(zhí)行下述步驟b、步驟c或步驟d。步驟b、如果當(dāng)前向量的后端點(diǎn)不屬于任何重合點(diǎn),則繼續(xù)取后端點(diǎn)關(guān)聯(lián)的除了當(dāng)前向量之外的其他向量作為當(dāng)前向量,再轉(zhuǎn)向執(zhí)行步驟a ;步驟C、如果當(dāng)前向量的后端點(diǎn)屬于重合點(diǎn),但不屬于起點(diǎn),則輸出當(dāng)前向量后端點(diǎn)(重合點(diǎn))符合邏輯運(yùn)算結(jié)果的關(guān)聯(lián)向量中除了當(dāng)前向量之外的其他向量,并將輸出的其他向量再作為當(dāng)前向量,再轉(zhuǎn)向執(zhí)行步驟a;步驟d、如果后續(xù)端點(diǎn)屬于某個(gè)重合點(diǎn),并且屬于起點(diǎn),那么已輸出一個(gè)屬于運(yùn)算結(jié)果的多邊形;進(jìn)一步執(zhí)行下述步驟e ;步驟e、判斷所有重合點(diǎn)的所有關(guān)聯(lián)向量都已被輸出,則運(yùn)算結(jié)束,否則轉(zhuǎn)向執(zhí)行步驟a。下面以一個(gè)實(shí)例來(lái)說(shuō)明本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法,該實(shí)例需要求如圖2所示的多邊形P(端點(diǎn)為%、仏和Q2)和多邊形Q(端點(diǎn)為&、 PpPyPpPpPjn P6)之間的交集。具體求解過(guò)程如下步驟1、分別確定組成多邊形P和多邊形Q的向量;如圖2所示,確定組成多邊形P的向量為@、,組成多邊形Q的向量為◎、^P2. P^P3, @和@。步驟2、求解組成多邊形P和多邊形Q的各向量的交點(diǎn)。步驟3、對(duì)求解完交點(diǎn)后的各個(gè)向量在交點(diǎn)處進(jìn)行分解,如圖3所示,分解后的各個(gè)向量列舉如下多邊形P 分解后各個(gè)向量為 4、13、125、124、I20, 118、116、113、I7 和 14。多邊形Q分解后各個(gè)向量為IQ、12、16、 IlO、Il2、Il5、工23、工26、工27、工8、工5、工9、工11、工14、
      工17、工19、工21、工22和工280步驟4、確定重合點(diǎn),以及各重合點(diǎn)的關(guān)聯(lián)向量。從圖3所示,重合點(diǎn)為S0 S8,每個(gè)重合點(diǎn)的關(guān)聯(lián)向量如下S010、、I2 和 I3 ;
      S112、4、I5、工6、I 禾Π Ιδ ;
      S216、9、IlO 禾口 111 ;
      S313、8、工22、工25、工27和工28
      S417、1、工12、Il3、114 和 Il5
      S5Il5、21、“2 和工23 ‘
      S6!23、24、!25、126 ‘
      S7114、16、工17禾口工18 ‘
      S8118、19、工20和工21 °步驟4、根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量;對(duì)每個(gè)重合點(diǎn)的各個(gè)關(guān)聯(lián)向量進(jìn)行判斷,當(dāng)某個(gè)關(guān)聯(lián)向量為多邊形P的邊界,同時(shí)又在多邊形Q的填充區(qū)域內(nèi)時(shí),確定該關(guān)聯(lián)向量為符合邏輯運(yùn)算結(jié)果的向量;或者當(dāng)某個(gè)關(guān)聯(lián)向量為多邊形Q的邊界,同時(shí)又在多邊形P的填充區(qū)域內(nèi)時(shí),確定該關(guān)聯(lián)向量為符合邏輯運(yùn)算結(jié)果的向量。最終確定的符合邏輯運(yùn)算結(jié)果的向量列舉如下S1:12 和 I7;S2 空;
      7
      S3:13 和 Im;S4:17 和 I14;S5=I21 禾口&:“3和125;S7=I14 禾口 I18;S8 I18 禾口 I21。步驟5、將每個(gè)重合點(diǎn)符合邏輯運(yùn)算結(jié)果的向量輸出。如圖4所示,取重合點(diǎn)&作為結(jié)果多邊形的起始點(diǎn);依次輸出12、17、114、118、121、 123、125、I3,直至所有重合點(diǎn)的關(guān)聯(lián)向量都已輸出,結(jié)束流程。基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的裝置,由于該裝置解決問(wèn)題的原理與前述一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法相似,因此該裝置的實(shí)施可以參見(jiàn)方法的實(shí)施,重復(fù)之處不再贅述。本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的裝置,如圖5所示,包括第一確定單元501、分解單元502、第二確定單元503和邏輯計(jì)算結(jié)果輸出單元504 ;第一確定單元501,用于確定組成各多邊形的各個(gè)第一向量,以及各個(gè)第一向量的奪占.分解單元502,用于對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處進(jìn)行分解為多個(gè)第二向量;第二確定單元503,用于遍歷各第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合點(diǎn);邏輯計(jì)算結(jié)果輸出單元504,用于根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出;所述關(guān)聯(lián)向量為端點(diǎn)為重合點(diǎn)的第一向量和/或第二向量。進(jìn)一步地,本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的裝置中的第一確定單元501,還用于對(duì)于每個(gè)多邊形分別按照順時(shí)針或逆時(shí)針順序依次確定連接各端點(diǎn)和 \或控制點(diǎn)的第一向量。進(jìn)一步地,本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的裝置中的第一確定單元501,用于確定各第一向量的端點(diǎn)在X和Y坐標(biāo)軸上的坐標(biāo)值;根據(jù)各個(gè)第一向量的端點(diǎn)的坐標(biāo)值之間的位置關(guān)系,確定存在相交關(guān)系的第一向量之間的交點(diǎn)。進(jìn)一步地,本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的裝置中的邏輯計(jì)算結(jié)果輸出單元501,用于當(dāng)邏輯運(yùn)算為求交集運(yùn)算時(shí),遍歷重合點(diǎn)的各關(guān)聯(lián)向量;對(duì)于每一個(gè)關(guān)聯(lián)向量,當(dāng)其屬于多邊形的邊界,并且位于其他多邊形的填充區(qū)域以?xún)?nèi)時(shí),確定其為符合邏輯運(yùn)算結(jié)果的向量。本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置,首先確定組成各多邊形的各個(gè)第一向量,以及所述各個(gè)第一向量的交點(diǎn),對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處分解為多個(gè)第二向量,遍歷各個(gè)第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合點(diǎn),根據(jù)重合點(diǎn)每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出,本發(fā)明實(shí)施例提供的對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置,能夠?qū)M(jìn)行邏輯運(yùn)算的多個(gè)多邊形出現(xiàn)線段相交或重合的各種情況進(jìn)行處理,對(duì)于參與邏輯計(jì)算的多邊形的復(fù)雜度及數(shù)量都沒(méi)有限制,可以實(shí)現(xiàn)對(duì)多個(gè)形狀復(fù)雜的多邊形進(jìn)行矢量化的邏輯運(yùn)算處理,并且不用判斷各多邊形所有的向量是否符合邏輯運(yùn)算結(jié)果,進(jìn)行只需要對(duì)重合點(diǎn)的關(guān)聯(lián)向量進(jìn)行判斷,將其中符合邏輯運(yùn)算結(jié)果的向量輸出,得到多邊形邏輯運(yùn)算的結(jié)果,運(yùn)算效率較高。 顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
      權(quán)利要求
      1.一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法,其特征在于,包括確定組成各多邊形的各個(gè)第一向量,以及所述各個(gè)第一向量的交點(diǎn); 對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處分解為多個(gè)第二向量; 遍歷各第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合點(diǎn); 根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出;所述關(guān)聯(lián)向量為端點(diǎn)為重合點(diǎn)的第一向量和/或第二向量。
      2.如權(quán)利要求1所述的方法,其特征在于,所述確定組成各多邊形的各個(gè)第一向量,包括對(duì)于每個(gè)多邊形分別按照順時(shí)針或逆時(shí)針順序依次確定連接各端點(diǎn)和\或控制點(diǎn)的第一向量。
      3.如權(quán)利要求1所述的方法,其特征在于,確定各個(gè)第一向量的交點(diǎn),包括 確定各第一向量的端點(diǎn)在X和Y坐標(biāo)軸上的坐標(biāo)值;根據(jù)各個(gè)第一向量的端點(diǎn)的坐標(biāo)值之間的位置關(guān)系,確定存在相交關(guān)系的第一向量之間的交點(diǎn)。
      4.如權(quán)利要求1所述的方法,其特征在于,在將分解后的第二向量和未分解的第一向量重合的端點(diǎn)確定為重合點(diǎn)的步驟之后,根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量的步驟之前,還包括確定重合點(diǎn)的所有的關(guān)聯(lián)向量; 判斷所有關(guān)聯(lián)向量中是否有重合的向量; 若有,將重合的向量記錄為同一個(gè)向量。
      5.如權(quán)利要求4所述的方法,其特征在于,當(dāng)邏輯運(yùn)算為求交集運(yùn)算時(shí),根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量,包括遍歷重合點(diǎn)的各關(guān)聯(lián)向量;對(duì)于每一個(gè)關(guān)聯(lián)向量,當(dāng)其屬于多邊形的邊界,并且位于其他多邊形的填充區(qū)域以?xún)?nèi)時(shí),確定其為符合邏輯運(yùn)算結(jié)果的向量。
      6.如權(quán)利要求4所述的方法,其特征在于,當(dāng)邏輯運(yùn)算為求并集運(yùn)算時(shí),根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量,包括遍歷重合點(diǎn)的各關(guān)聯(lián)向量;對(duì)于每一個(gè)關(guān)聯(lián)向量,當(dāng)其屬于多邊形的邊界,并且位于其他多邊形的填充區(qū)域之外時(shí),確定其為符合邏輯運(yùn)算結(jié)果的向量。
      7.一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的裝置,其特征在于,包括第一確定單元,用于確定組成各多邊形的各個(gè)第一向量,以及各個(gè)第一向量的交點(diǎn); 分解單元,用于對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處進(jìn)行分解為多個(gè)第二向量;第二確定單元,用于遍歷各第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合點(diǎn);邏輯計(jì)算結(jié)果輸出單元,用于根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出;所述關(guān)聯(lián)向量為端點(diǎn)為重合點(diǎn)的第一向量和/或第二向量。
      8.如權(quán)利要求7所述的裝置,其特征在于,所述第一確定單元,進(jìn)一步用于對(duì)于每個(gè)多邊形分別按照順時(shí)針或逆時(shí)針順序依次確定連接各端點(diǎn)和\或控制點(diǎn)的第一向量。
      9.如權(quán)利要求7所述的裝置,其特征在于,所述第一確定單元,進(jìn)一步用于確定各第一向量的端點(diǎn)在X和Y坐標(biāo)軸上的坐標(biāo)值;根據(jù)各個(gè)第一向量的端點(diǎn)的坐標(biāo)值之間的位置關(guān)系,確定存在相交關(guān)系的第一向量之間的交點(diǎn)。
      10.如權(quán)利要求7所述的裝置,其特征在于,所述邏輯計(jì)算結(jié)果輸出單元,進(jìn)一步用于當(dāng)邏輯運(yùn)算為求交集運(yùn)算時(shí),遍歷重合點(diǎn)的各關(guān)聯(lián)向量;對(duì)于每一個(gè)關(guān)聯(lián)向量,當(dāng)其屬于多邊形的邊界,并且位于其他多邊形的填充區(qū)域以?xún)?nèi)時(shí),確定其為符合邏輯運(yùn)算結(jié)果的向量。
      11.如權(quán)利要求7所述的裝置,其特征在于,邏輯計(jì)算結(jié)果輸出單元,進(jìn)一步用于當(dāng)邏輯運(yùn)算為求和集運(yùn)算時(shí),遍歷重合點(diǎn)的各關(guān)聯(lián)向量;對(duì)于每一個(gè)關(guān)聯(lián)向量,當(dāng)其屬于多邊形的邊界,并且位于其他多邊形的填充區(qū)域之外時(shí),確定其為符合邏輯運(yùn)算結(jié)果的向量。
      全文摘要
      本發(fā)明公開(kāi)了一種對(duì)多邊形進(jìn)行邏輯運(yùn)算處理的方法及裝置,其中方法包括確定組成各多邊形的各個(gè)第一向量,以及各個(gè)第一向量的交點(diǎn);對(duì)存在交點(diǎn)但交點(diǎn)不為端點(diǎn)的第一向量,在交點(diǎn)處分解為多個(gè)第二向量;遍歷各第二向量和未分解的第一向量的端點(diǎn),將重合的端點(diǎn)確定為重合點(diǎn);根據(jù)重合點(diǎn)的每個(gè)關(guān)聯(lián)向量的邊界狀態(tài),確定符合邏輯運(yùn)算結(jié)果的向量并輸出;關(guān)聯(lián)向量為端點(diǎn)為重合點(diǎn)的第一向量和/或第二向量。本發(fā)明能夠?qū)M(jìn)行邏輯運(yùn)算的多個(gè)多邊形出現(xiàn)線段相交或重合的各種情況進(jìn)行處理,對(duì)于參與邏輯計(jì)算的多邊形的復(fù)雜度及數(shù)量都沒(méi)有限制,可以實(shí)現(xiàn)對(duì)多個(gè)形狀復(fù)雜的多邊形進(jìn)行矢量化的邏輯運(yùn)算處理。
      文檔編號(hào)G06T11/00GK102194240SQ201010118590
      公開(kāi)日2011年9月21日 申請(qǐng)日期2010年3月4日 優(yōu)先權(quán)日2010年3月4日
      發(fā)明者唐宇, 林好, 黃耿琳 申請(qǐng)人:北京北大方正電子有限公司, 北大方正集團(tuán)有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1