2011年4月23日土曜日

交差判定                               その2:点と円の交差判定と円同士の交差判定

点と円の交差判定と円同士の交差判定

①点と円の交差判定

点を移動させて、円の中に入ったら交差していると判断する

点の座標をX0,Y0

円は、中心座標CX1,CY1
半径をr1とする。














交差しているかいないかの条件は、
円の中心座標と点の座標との距離が、円の半径以下なら交差と判断する。

この距離を求める方法が、三平方の定理を使ってX方向とY方向のそれぞれの距離を求める。

三平方の定理は
平面幾何学において直角三角形の斜辺の長さを c とし、その他の辺の長さを a, b とした時、




になる関係が、成立するという幾何学の定理。学校で習った物です。

点の座標と円の中心座標の距離をこの三平方の定理で求めると
(CX1-X0)*(CX1-X0)+(CY1-Y1)*(CY1-Y1)=r*r













と、なる。


交差判定なので、距離が半径以下となったら、交差していると判断するので
このようになる。

(CX1-X0)*(CX1-X0)+(CY1-Y1)*(CY1-Y1)<=r*r


②円同士の交差判定
円を2つ作って1つを移動させて、もう1つの円の中に入ったら交差していると判断する。

円同士の交差判定も、①で使った三平方の定理を使って判定を行う。

円1
中心座標:CX0,CY0
半径:r0
円2
中心座標:CX1,CY1
半径:r1














円1の中心座標と円2の中心座標の距離が円1の半径と円2の半径の
和以下なら交差していると判断する。

条件式に表すと
(CX1-CX0)*(CX1-CX0)+(CY1-CY0)*(CY1-CY0)<=(r1+r0)*(r1+r0)
と、なる。

条件式が成立していない時


















条件式が成立している時




















点と円の交差



円同士の交差


その他の交差判定
交差判定 その1:線と線
交差判定 その3-1:矩形同士の交差判定
交差判定 その3-2:矩形同士の交差判定


その他の交差判定関連

0 件のコメント:

コメントを投稿