我就叫他射線法吧
基本步驟:
1,過p點垂直向上作一條射線
2,判斷此射線與n邊形n條邊的交點
3,把所有交點相加,如果是奇數則說明在多邊形內,否則在多邊形外
思路非常的簡單,另外說明一下幾種特殊的情況:
1,射線與多邊形的頂點相交;比如射線過多邊形的Pi點,則如果Pi-1和Pi+1在此射線的異側,此交點可以算一個,如果此兩點在射線的同側,則此交點不計。此結論非常簡單,畫個圖應該就能明白了
2,p點在多邊形的某一條邊上;也認為p在多邊形中
3,p不在多邊形的邊上,但p的射線與多邊形的某一條邊重合;比如與Pi,Pi+1線段重合,則如果Pi-1和Pi+2在射線的兩側,此情況也算一個交點,否則此情況不計交點