❶ 判斷點是否在多邊形內部的方法
判斷點是否在多邊形內部的方法如下:
(1)面積和判別法:判斷目標點與多邊形的每條邊組成的三角形面積和是否等於該多邊形,相等則在多邊形內部。
(2)夾角和判別法:判斷目標點與所有邊的夾角和是否為360度,為360度則在多邊形內部。
(3)光線投射法:從目標點出發引一條射線,看這條射線和多邊形所有邊的交點數目。如果有奇數個交點,則說明在內部,如果有偶數個交點,則說明在外部。
我們注意到,每次計算都涉及到相鄰的兩個點和待測試點,然後考慮兩個問題:
被測試點的縱坐標testy是否在本次循環所測試的兩個相鄰點縱坐標范圍之內?即verty[i]<testy < verty[j]
或者verty[j] <testy < verty[i]
2. 待測點test是否在i,j兩點之間的連線之下?看不懂後半短if statement的朋友請自行在紙上寫下i,j兩點間的斜率公式,要用到一點初中解析幾何和不等式的知識范疇,對廣大碼農來說小菜一碟。