1.一種判斷觸點(diǎn)是否在不規(guī)則多邊形內(nèi)部的方法,其特征在于:包括以下步驟:
1.1.將不規(guī)則多邊形的所有坐標(biāo)點(diǎn)集合作為一個(gè)數(shù)組輸入進(jìn)行計(jì)算;
1.2.將觸點(diǎn)坐標(biāo)作為一個(gè)數(shù)組輸入進(jìn)行計(jì)算;
1.3.判斷點(diǎn)(a,b)與點(diǎn)(c,d)連線,是否與點(diǎn)(0,y)與觸點(diǎn)坐標(biāo)(x,y)連線有交點(diǎn),并返回布爾值供后續(xù)計(jì)算;
1.4.將觸點(diǎn)的x軸的平行線與每一條邊的焦點(diǎn)數(shù)計(jì)數(shù),如果步驟1.3中返回的布爾值為真,則將x軸焦點(diǎn)數(shù)計(jì)數(shù)+1;
1.5.判斷點(diǎn)(a,b)與點(diǎn)(c,d)連線,是否與點(diǎn)(x,0)與觸點(diǎn)坐標(biāo)(x,y)連線有交點(diǎn),并返回布爾值供后續(xù)計(jì)算;
1.6.將觸點(diǎn)的y軸的平行線與每一條邊的焦點(diǎn)數(shù)計(jì)數(shù),如果步驟1.5中返回的布爾值為真,則將y軸焦點(diǎn)數(shù)計(jì)數(shù)+1;
1.7.判斷是否還有未計(jì)算的點(diǎn),將步驟1.1中輸入的坐標(biāo)集和數(shù)組減去步驟1.3與步驟1.4中已經(jīng)計(jì)算了的坐標(biāo)點(diǎn),若得出的值大于0則還有未計(jì)算的點(diǎn);
1.8.若還有未參與計(jì)算的點(diǎn),則將步驟1.3中后2個(gè)數(shù)與步驟1.7中剩余的點(diǎn)取前2個(gè)數(shù),替換為abcd,代入步驟1.3至1.7中循環(huán);
1.9.若全部點(diǎn)都參與了計(jì)算,則將最后2個(gè)點(diǎn)(i,j)與點(diǎn)(a,b)替換為abcd代入步驟1.3至1.6中計(jì)算;
1.10.判斷x軸焦點(diǎn)數(shù)與y軸焦點(diǎn)數(shù)是否都是奇數(shù):判斷步驟1.4和步驟1.6的計(jì)數(shù)值是否都為奇數(shù),并輸出布爾值;
1.11.若步驟1.10輸出的布爾值為真,則得到結(jié)論觸點(diǎn)在多邊形內(nèi)部,反之則得到結(jié)論觸點(diǎn)在多邊形外部。