도구스개발

충돌 판정 계산기

사각형-사각형(축 정렬, AABB), 원-원, 원-사각형 세 조합의 2D 충돌 여부를 닫힌 형태 부등식으로 판정합니다. 겹친 양(overlap)과 원-사각형의 가장 가까운 점까지 함께 보여주고, 정확히 맞닿은 경계를 충돌로 볼지 선택할 수 있습니다.

도형 A (사각형)

도형 B (사각형)

충돌 여부

충돌합니다

중심 x 거리4
중심 y 거리1
x축 겹친 양1
y축 겹친 양3
AABB-AABB 판정. 축에 그대로 맞춰진(회전 없는) 두 사각형은 중심 거리가 반너비의 합보다 작은지를 x축에서, 반높이의 합보다 작은지를 y축에서 각각 보면 됩니다. 한 축이라도 벌어져 있으면 사각형은 겹치지 않습니다.
원-사각형 판정. 원의 중심에서 사각형까지 가장 가까운 점(사각형 안이면 중심 그대로, 밖이면 각 축으로 범위 안에 잘라낸 점)을 찾고, 그 점까지의 거리가 반지름보다 작은지만 보면 됩니다.

사용 방법

  1. 1판정할 조합(사각형-사각형·원-원·원-사각형)을 고릅니다.
  2. 2두 도형의 중심 좌표와 크기(반너비·반높이 또는 반지름)를 넣습니다.
  3. 3겹친 양(overlap)이 양수면 충돌, 음수면 그만큼 떨어져 있다는 뜻입니다.
  4. 4두 도형이 정확히 맞닿기만 한 값을 넣어 «경계 포함» 옵션에 따라 판정이 바뀌는지 확인합니다.

자주 묻는 질문

Axis-Aligned Bounding Box, 축 정렬 바운딩 박스의 줄임말로, 회전 없이 가로세로 축에 그대로 맞춰진 사각형입니다. 회전한 사각형끼리의 충돌은 더 복잡한 계산(SAT 등)이 필요하지만, AABB끼리는 각 축에서 겹치는지만 보면 되어 계산이 아주 단순합니다.

두 사각형의 중심 거리가 반너비(가로 길이의 절반)의 합보다 작은지를 x축에서, 반높이의 합보다 작은지를 y축에서 각각 확인합니다. 둘 다 만족해야 충돌입니다 — 한 축이라도 벌어져 있으면 사각형은 겹치지 않습니다.

원의 중심에서 사각형까지 가장 가까운 점을 찾습니다. 원 중심이 사각형 안에 있으면 그 점은 중심 자신(거리 0)이고, 밖에 있으면 각 축으로 사각형 범위 안에 잘라낸(clamp) 점입니다. 그 점과 원 중심 사이 거리가 반지름보다 작으면 충돌입니다.

두 도형이 얼마나 겹쳤는지(또는 얼마나 떨어졌는지)를 나타내는 값입니다. 사각형-사각형·원-원은 «반너비(또는 반지름)의 합 − 중심 거리»로 계산하며, 양수면 그만큼 겹쳤고 음수면 그만큼 떨어져 있다는 뜻입니다. 게임에서 두 물체를 밀어내 겹침을 푸는 데(MTV, 최소 이동 벡터) 흔히 쓰입니다.

두 도형이 정확히 맞닿기만 하고 겹치지는 않은 경우(겹친 양이 정확히 0)를 충돌로 볼지가 게임 엔진마다 다르기 때문입니다. 부등식을 ≤로 보면 맞닿음도 충돌로 치고, <로 보면 맞닿음은 충돌이 아니라고 봅니다.

안 됩니다. 이 계산기는 축에 그대로 맞춰진(회전 없는) 사각형만 다룹니다. 회전한 사각형은 분리축 정리(SAT)를 각 사각형의 변 방향으로 모두 확인해야 해서 계산이 더 복잡합니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 사각형은 모두 축 정렬(회전 없음)을 전제합니다. 회전한 사각형끼리의 충돌은 다루지 않습니다.
  • 겹친 양(overlap)이 정확히 0인 경계 값은 «경계 포함» 옵션에 따라 충돌 여부가 달라집니다.
  • 좌표·크기의 단위는 임의입니다 — 게임 엔진의 픽셀·월드 단위 등 쓰는 단위를 그대로 넣으면 됩니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.