スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

円と長方形との当たり判定

平面において、円と長方形とが重なる条件について。

以下、平面座標において、左上を原点とし、右方向に x 軸、下方向に y 軸をとるものとする。

長方形の各辺は x 軸または y 軸に平行であるとする。

  • 円の中心を (a, b), 半径を r
  • 長方形の左上頂点の座標を (x, y)、横幅を w、縦の長さを h

とする。

1. 円の中心が長方形から見て上・中・下の位置にある場合

このとき、円が長方形に交差する条件は以下のとおり。

( x < a and a < x+w ) and ( y-r < b and b < y+h+r )

2. 円の中心が長方形から見て左・中・右の位置にある場合

このとき、円が長方形に交差する条件は以下のとおり。

( x-r < a and a < x+w+r ) and ( y < b and b < y+h )

3. 円の中心が長方形から見て斜め上下の位置にある場合

このとき、円が長方形に交差するならば、長方形の 4 つの頂点のいずれかを含む。よって、交差条件は以下のとおり。

( (x-a)^2 + (y-b)^2 < r^2 ) or
( (x+w-a)^2 + (y-b)^2 < r^2 ) or
( (x-a)^2 + (y+h-b)^2 < r^2 ) or
( (x+w-a)^2 + (y+h-b)^2 < r^2 )

まとめると、以上の三つの条件のどれか一つが満たされれば、二つの図形は交差する。つまり、

(一つ目の条件) or (二つ目の条件) or (三つ目の条件)

が、円と長方形とが交差するための (必要十分) 条件である。ただし、三つの条件は排他的ではなく、二つ以上の条件が同時に満たされることもある。

関連記事

よしいずの雑記帳:当たり判定の基本

【theme : プログラミング
【genre : コンピュータ

プロフィール

よしいず

Author:よしいず
MATHEMATICS.PDFというウェブサイトを運営しています。

管理の都合上、トラックバックとコメントはオフにしてあります。ブログ経験者なら分かっていただけると思いますが、スパム(アダルトやその他の宣伝)ばかりなのが現実です。

リンクは自由です。当サイトの記事に対する間違いの指摘・意見・感想などを述べた記事からのリンクは歓迎です。ただし、ブログ記事アップ直後はミスが多く、頻繁に修正します。場合によっては削除する可能性もあります。その際、何も断りもなく修正・削除しますがご了承ください。内容を参考にする場合には投稿後一週間ほど様子を見てからにしてください(笑)。

記事の間違いを指摘するときは、その具体的箇所、理由(仕様に反するなど)・根拠(参考にした文献など)、代替案(同じ結果を得るための正しいやり方)も教えてください。そうしないと、(指摘される側および第三者はその時点では無知の状態なので、)どこが間違いなのか分かりませんし、本当に間違っているのかどうかが判断・検証できません。実際、間違いだと指摘されたことが結局は正しかったというケースもありますので。

このブログのタイトル一覧

リンク
月別アーカイブ
カテゴリ
最新記事
検索フォーム
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。