判斷點是否在四邊形中 以點P為端點,向左方作射線L,由于多邊形是有界的,所以射線L的左端一定在多邊形外,考慮沿著L從無窮遠處開始自左向右移動,遇到和多邊形的第一個交點的時候,進入到了多邊形的內部,遇到第二個交點的時候,離開了多邊形,……所以很容易看出當L和多邊形的交點數目C是奇數的時候,P在多邊形內,是偶數的話P在多邊形外。 但是有些特殊情況要加以考慮。如果L和多邊形的頂點相交,有些情況下交點只能計算一個,有些情況下交點不應被計算(自己畫個圖就明白了);如果L和多邊形的一條邊重合,這條邊應該被忽略不計。為了統一起見,我們在計算射線L和多邊形的交點的時候,1。對于多邊形的水平邊不作考慮;2。對于多邊形的頂點和L相交的情況,如果該頂點是其所屬的邊上縱坐標較大的頂點,則計數,否則忽略;3。對于P在多邊形邊上的情形,直接可判斷P屬于多邊行。
熱心網友
呵呵比較難!
熱心網友
夠專業,祝您好運!