円・円当たり判定計算機
2つの円の衝突を判定し、めり込み量と押し戻しベクトルを計算します。
判定—
計算式
- 中心間の距離 d = √((x2−x1)² + (y2−y1)²)
- d < r1 + r2 なら衝突
- 押し戻し = 方向(円1→円2) × (r1 + r2 − d)
使い方のヒント
距離の平方根を取らず、距離の2乗と(r1+r2)の2乗を比べれば、判定だけは高速にできます。2つの円の中心が完全に重なっている場合は、押し戻しの方向が決まりません。
計算例
初期値(円1の中心X 0、円1の中心Y 0、円1の半径 20、円2の中心X 30、円2の中心Y 10、円2の半径 15)のままで計算すると、判定は 衝突している、中心間の距離は 31.6228、半径の和は 35、めり込み量は 3.3772、円2を押し戻すベクトルは (3.204, 1.068) になります。まずはこの値を基準に、自分の数値へ置き換えて確認してください。
たとえば「円1の半径」だけを 40 に変えると、判定は 衝突している、中心間の距離は 31.6228、半径の和は 55、めり込み量は 23.3772、円2を押し戻すベクトルは (22.178, 7.393) になります。結果がどの入力にどれだけ敏感かを見るときは、入力を1つずつ動かして比べるとわかりやすくなります。
関連ツール
よくある質問
円・円当たり判定計算機では何がわかりますか?
2つの円の衝突を判定し、めり込み量と押し戻しベクトルを計算します。
何を入力すればいいですか?
次の項目を入力します: 円1の中心X、円1の中心Y、円1の半径、円2の中心X、円2の中心Y、円2の半径。内容を変えると、結果もそれに合わせて変わります。
結果にはどんな項目が表示されますか?
「判定」「中心間の距離」「半径の和」「めり込み量」「円2を押し戻すベクトル」などが表示されます。
どんな計算式を使っていますか?
ページ内の「計算式」にまとめています。たとえば「中心間の距離 d = √((x2−x1)² + (y2−y1)²)」のような式です。
結果はどのくらい正確ですか?
計算式はゲームでよく使われるものです。実際の作品では丸め方(切り捨て・四捨五入)や上限値が違うことがあるので、最後はテストプレイで確認してください。
同じカテゴリ(当たり判定)の他のツールはありますか?
はい。レイキャスティング計算機、AABB当たり判定計算機、円・矩形当たり判定計算機、当たり判定可視化などがあります。
スマホでの利用、入力内容の扱い、結果のコピー、印刷など、全ツールに共通する質問は共通のよくある質問にまとめています。