도구스학업·수학

최소 외접원(점집합) 계산기

주어진 점을 모두 담는 가장 작은 원의 중심과 반지름을 구합니다. Welzl 알고리즘으로 계산하고, 원을 정한 점이 둘인지 셋인지 표시하며 무게중심을 썼을 때와 반지름을 견줍니다.

한 줄에 «x y» 하나씩. 쉼표로 적어도 됩니다. 점 300개까지.

최소 외접원

반지름 4.2059

중심은 (5, 4.7)입니다. 세 점이 원 위에 놓여 원이 정해졌습니다. 모든 점이 원 안에 들어 있는 것을 확인했습니다.

점 개수6개
중심(5, 4.7)
반지름4.205948
지름8.411896
넓이55.5748
원을 정한 점3개 (세 점이 원 위)
검산 — 가장 먼 점까지4.205948 (반지름과 같아야 합니다)
무게중심(4.8333, 4.6667)
무게중심을 쓰면 반지름4.374802 (4% 더 큽니다)
무게중심은 답이 아닙니다. 무게중심은 거리의 제곱합을 줄이는 자리이고, 최소 외접원은 「가장 먼 점까지의 거리」를 줄이는 자리입니다. 위 두 반지름을 견줘 보면 차이를 볼 수 있습니다. 기지국 출력이나 집결지처럼 최악의 경우가 중요한 문제에서는 최소 외접원이 맞는 답입니다.
최소 외접원은 언제나 점 두 개(그 둘이 지름) 또는 점 세 개로 정해집니다. 나머지 점은 원 안에 들어 있을 뿐 답을 바꾸지 않습니다 — 경계에 놓이지 않은 점은 조금 옮겨도 원이 꿈쩍하지 않습니다. 그림에서 동그라미로 표시된 점이 원을 정한 점입니다.
계산은 Welzl 알고리즘으로 합니다. 점을 하나씩 넣어 보며 지금 원 안에 있으면 넘어가고, 밖에 있으면 그 점이 반드시 경계에 놓인다는 사실을 써서 다시 풉니다. 기대 시간이 점 개수에 비례하는 O(n)입니다. 결과는 모든 2점·3점 조합을 훑는 무식한 방법과 대조해 검증했습니다.

계산 방법

  1. 1한 줄에 「x y」 하나씩 점 좌표를 넣습니다. 쉼표로 적어도 됩니다.
  2. 2그림에서 원과 점들의 위치를 확인합니다. 동그라미로 표시된 점이 원을 정한 점입니다.
  3. 3「검산 — 가장 먼 점까지」가 반지름과 같은지 확인합니다.
  4. 4무게중심을 썼을 때의 반지름과 견줘 차이를 봅니다.

자주 묻는 질문

주어진 점을 모두 담는 원 중 반지름이 가장 작은 것입니다. 기지국 하나로 모든 집을 덮을 때의 최소 출력, 흩어진 사람들이 모일 때 가장 먼 사람의 이동을 줄이는 자리처럼 「최악의 경우」를 줄이는 문제가 모두 이 형태입니다.

안 됩니다. 무게중심은 거리의 제곱합을 줄이는 자리이지 가장 먼 거리를 줄이는 자리가 아닙니다. 예를 들어 점들이 한쪽에 몰려 있고 멀리 하나만 떨어져 있으면, 무게중심은 몰린 쪽으로 끌려가 필요한 반지름이 더 커집니다. 이 계산기는 두 반지름을 나란히 보여 줍니다.

언제나 두 개 또는 세 개입니다. 두 점이 원의 지름이 되거나, 세 점이 원 위에 놓입니다. 나머지 점은 원 안에 들어 있을 뿐 답을 바꾸지 않아서, 경계에 놓이지 않은 점은 조금 옮겨도 원이 변하지 않습니다.

점을 하나씩 넣어 보며 원을 키워 가는 방법입니다. 새 점이 지금 원 안에 있으면 넘어가고, 밖에 있으면 그 점이 반드시 새 원의 경계에 놓인다는 사실을 이용해 다시 풉니다. 점 순서를 섞으면 기대 시간이 점 개수에 비례하는 O(n)이 됩니다.

볼록 껍질은 점들을 감싸는 가장 작은 볼록 다각형이고, 최소 외접원은 감싸는 가장 작은 원입니다. 최소 외접원을 정하는 점들은 반드시 볼록 껍질 위에 있지만, 볼록 껍질의 꼭짓점 대부분은 원을 정하는 데 관여하지 않습니다.

됩니다. 그 경우 가장 멀리 떨어진 두 점이 지름이 되는 원이 답입니다. 세 점이 한 직선 위에 있으면 외접원이 정의되지 않으므로 이 계산기는 그런 경우를 따로 처리합니다.

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

알아두면 좋은 점

  • 검증은 모든 2점·3점 조합을 훑는 무식한 방법을 정답지로 삼아 했습니다. 무작위 점 집합 200벌(점 2~10개)에서 Welzl 결과와 반지름·중심이 모두 일치하는 것을 확인했습니다.
  • 경계 상황을 따로 고정했습니다. 점이 한 직선 위에 몰린 경우, 같은 점이 여러 번 들어간 경우, 정삼각형(세 점이 원 위)과 지름으로 정해지는 경우입니다.
  • 직각삼각형의 외접원 반지름이 빗변의 절반인 것, 정삼각형의 외접원 반지름이 한 변÷√3인 것처럼 손으로 아는 값도 함께 확인했습니다.
  • 결과에는 모든 점이 원 안에 들어 있는지, 가장 먼 점까지의 거리가 반지름과 같은지를 검산해 함께 보입니다.
  • 점 순서를 섞는 부분은 고정된 셔플을 씁니다. 서버에서 그린 결과와 브라우저에서 계산한 결과가 같아야 하기 때문입니다.
  • 점은 300개까지 다룹니다. 좌표는 평면 위의 값으로 봅니다 — 위도·경도를 그대로 넣으면 지구 곡률이 반영되지 않으니 좁은 지역에서만 근사로 쓰시기 바랍니다.

함께 보면 좋은 도구

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