我有一組(x,y)點,我想從這些點插入這組點中的任何點「內部」的值。 (圖中的黃色區域)。確定一組點的「內部域」
的問題是,我還沒有找到什麼好的辦法:
- 找到這將是我的內插點的邊界(綠線)
- 測試,如果多邊形點在多邊形內或不在。我發現了Point in Polygon算法,但我不確定是否在某個範圍內考慮了所有點,並且測試它們是否屬於多邊形是個好主意。我希望找到一種讓我測試比(max(x)-min(x))*(max(y)-min(y))少的點數的方法,理想的方法是知道哪些點做我的迭代。
編輯:在第二部分我重複了圖像中的所有點(像素),我想要做的只是迭代黃色字段中的點。
您是否有鉛?
Ps:我用C++編寫,如果它有任何幫助。
關於問題2:在綠色邊界之外是否有任何點?如果是這樣,你用什麼標準來確定你的多邊形的邊界?如果不是的話,那麼一旦你知道了邊界上的點,其餘的點就會在邊界內。 – mbeckish
@mbeckish否綠色邊界外沒有點。我編輯了這個問題來澄清第二部分。 – Leo
然後你根本不需要測試。只要跟蹤哪些點位於您的邊界上 - 如果所討論的點不是邊界點之一,那麼它位於多邊形內。 – mbeckish