タグ

ブックマーク / mf-atelier.sakura.ne.jp (1)

  • 月の杜工房 - ポリゴンに対する内外の判定

    ある点がポリゴンの中にあるかどうかを調べるには、ポリゴンに対して十分に離れている点とその点を結んだ直線がポリゴンの辺と何回交差したかを調べ、偶数回であれば外、奇数回であれば内側にあると判断できます。 2つの線分が交差するかどうかを調べるには、一方の線分の2点ともう一方の線分の頂点との回り方向を調べ、異なる回りであれば交差すると判断できます。 3点が時計回りか反時計回りかを調べるには以下のようにします。 p1;(x1,y1)、p2;(x2,y2)、p3;(x3,y3)とすると、 (x2-x1)*(y3-y1)と(x3-x1)*(y2-y1)を比較して、負なら反時計回り、正なら時計回り、等しければ直線になります。 ただし、ポリゴンの内外を判定するときに判定の対象となる点と十分に遠い点の直線上にポリゴンの頂点がある場合の取り扱いに注意が必要です。 //3点が時計回りかどうかを調べる //時計回り

    月の杜工房 - ポリゴンに対する内外の判定
  • 1