多角形内外判定
与えられた点が多角形の内側にあるか外側にあるかを調べる、古典的な幾何アルゴリズム。
よく使われる解法はレイキャスティングだ。点から任意の方向に半直線を伸ばし、多角形の辺と何回交差するかを数える。奇数なら内側、偶数なら外側である。もう一つの方法は回転数(winding number)で、多角形が点の周りを何周するかを合計するため、自己交差する図形にも対応できる。どちらも辺の数に対して線形時間で動く。
この判定は、2Dゲームの当たり判定、不規則な形のボタンのクリック判定、ジオフェンス、GISなどの土台になっている。凸多角形なら各辺に対する符号テストで足りる。負荷の高い場面では、多角形を前処理したり空間インデックスを張ったりする。