직선과 원의 교차 계산기
직선이 지나는 두 점과 원의 중심·반지름을 넣으면 만나지 않음·접함·두 점 교차 중 무엇인지 가리고 교점 좌표를 정확한 공식으로 계산합니다. 게임 충돌판정과 컴퓨터그래픽에서 자주 쓰는 고전 문제입니다.
직선이 지나는 두 점
원
직선과 원의 관계
두 점에서 만납니다
원 중심에서 직선까지의 거리가 반지름보다 작아 두 점에서 만납니다.
계산 방법
- 1직선이 지나는 두 점 P1, P2의 좌표를 넣습니다.
- 2원의 중심과 반지름을 넣습니다.
- 3원 중심에서 직선까지의 거리와 반지름을 견준 결과(만나지 않음·접함·두 점 교차)를 확인합니다.
- 4만나는 경우 아래에서 정확한 교점 좌표를 확인합니다.
자주 묻는 질문
원 중심에서 직선까지의 수직거리를 반지름과 견주면 됩니다. 거리가 반지름보다 크면 만나지 않고, 같으면 한 점에서 접하고, 작으면 두 점에서 만납니다. 직선을 매개변수 t로 나타내 원의 방정식에 대입하면 t에 대한 이차방정식이 나오는데, 이 판별식의 부호가 정확히 같은 세 경우를 가릅니다.
직선 위의 점을 P(t) = P1 + t(P2−P1)로 나타냅니다. t가 0이면 P1, 1이면 P2이고 그 사이·바깥 모든 실수 t가 직선 전체를 표현합니다. 이 식을 원의 방정식 |P(t)−중심|² = 반지름²에 대입하면 t에 대한 이차방정식 at²+bt+c=0이 나오고, 이를 풀면 교점의 위치(t값)와 좌표가 그대로 나옵니다.
edu/circle-intersection은 두 «원»이 서로 만나는 경우(외접·내접·포함 등 여섯 가지)를 다루고, 이 계산기는 «직선»과 원의 교차만 다룹니다. 직선은 반지름이 무한대인 원이라고 볼 수 있어 판정 논리는 비슷하지만, 경우의 수가 만나지 않음·접함·두 점 교차 셋으로 더 단순합니다.
됩니다. 두 점은 직선의 «방향»을 정하기 위한 것일 뿐 선분의 끝이 아니라서, 직선은 두 점을 지나 양쪽으로 무한히 뻗어 나간다고 봅니다. 화면의 그림은 원과 교점이 잘 보이도록 실제 그리는 범위를 자동으로 맞춥니다.
접함은 직선이 원의 경계에 정확히 한 번만 닿는 경우이기 때문입니다(이차방정식의 판별식이 0이라 중근 하나만 나옵니다). 원 중심에서 직선에 내린 수선의 발이 곧 접점이며, 이 접점에서 반지름을 그으면 항상 직선과 수직입니다.
알아두면 좋은 점
- 부동소수점 계산이라 판별식이 «정확히» 0인지는 물을 수 없습니다. 좌표·반지름 크기에 비례한 허용오차를 두어 접함을 판정합니다.
- 두 점이 같으면 직선이 정해지지 않아 계산할 수 없습니다.
- 좌표와 반지름은 ±100,000(반지름은 100,000) 범위 안에서 다룹니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 8일 · 결과는 참고용 추정치입니다.