1. 程式人生 > >判斷多個點在多邊形內的線上演算法

判斷多個點在多邊形內的線上演算法

通常判斷一個點在多邊形內有五種演算法:

1. 叉積法,面積法(適用於凸包)

2. 射線法,直線法, 最壞時間O(n), 通常都可以達到常數基數時間

3.迴轉數(也叫旋轉角)法

4.改進弧長法(轉角法的改進版),精度比較高

5.以多邊形上的頂點劃分空間網格的方法(自創,理論未完善)

下面要討論一個線上的演算法。

假設求得三個點在多邊形n內,對三個點連線成一個內多邊形m,如果再來一個點p,先判斷p是否在m內,如果p在 n內,m外,

則p與m組成新的內多邊形。再來一點Q,仿照P的求法,對Q及後面的要計算的點,做統計。

這樣一種以空間換時間 的動態規劃的思想。是否可行,還在研究中,期待有網友發表一下評論。