要檢測一個點是否在多邊形中,可以投射一條從點到無窮的直線,並查看它與多邊形相交的頂點數量...簡單足夠。我的問題是,如果射線與其中一個點上的多邊形相交,那麼它會被計算爲相交兩個線段,並在多邊形之外進行考慮。當射線與多邊形的某一點相交時,我改變了函數使其只能計算其中一個分段,但有些情況下線條可能與點相交,同時仍然位於外部。就拿這個圖像爲例:「通過頂點射線」特殊情況下檢測多邊形中的點
如果假設在左上角的一點是「無窮大」,投出光線要麼其他點,既相交於多邊形的一個點,並且即使一個在裏面,一個在外面,也會算作相同數量的頂點。
有沒有辦法彌補這一點,還是我只是假設那些邊緣案例不會彈出?
如果射線與左下角相交會怎樣? – psyon
然後雙方都在上面,這對計數有貢獻2,這是偶數,所以這個點將被認爲是在平方之外。 –
啊,我明白你在說什麼了。我會嘗試一下。謝謝! – psyon