변환 방향을 고르고 원의 방정식의 계수를 입력하세요. 아래 수식은 입력란과 연결되어 있어서 계수 부분을 직접 고쳐도 계산할 수 있습니다. 원과 직선의 위치 관계를 알아보려면 맨 아래 선택란에서 ‘직선 px + qy + s = 0과의 위치 관계도 알아보기’를 고르세요.
이 페이지에서 할 수 있는 것
- 원의 방정식의 일반형 \(x^{2} + y^{2} + lx + my + n = 0\)을 완전제곱식으로 고쳐 표준형 \((x - a)^{2} + (y - b)^{2} = r^{2}\)으로 바꾸고, 중심과 반지름을 분수와 \(\sqrt{\ }\)를 쓴 정확한 값으로 구할 수 있습니다(풀이 과정 포함)
- 반대로 중심과 우변(반지름의 제곱)으로부터 전개해서 일반형으로 바꿀 수도 있습니다
- 우변의 \(r^{2}\)이 0 이하가 되어 ‘원이 되지 않는’ 경우(한 점만 나타내는 경우·도형이 없는 경우)도 이유와 함께 판정합니다
- 직선 \(px + qy + s = 0\)과의 위치 관계(서로 다른 두 점에서 만남·접함·교점 없음)를 중심과 직선 사이의 거리 \(d\)와 반지름 \(r\)의 비교로 판정하고, 교점의 좌표도 정확한 값으로 구할 수 있습니다
- 계산기에는 손으로 쓸 때와 같은 모양의 원의 방정식이 표시되고, 계수 부분을 직접 고쳐서 계산할 수도 있습니다. 계산 결과는 원과 직선의 그림으로도 확인할 수 있습니다
이 계산은 어디에 쓰일까요?
2D 게임에서는 캐릭터나 총알의 ‘충돌 판정’을 원으로 근사하는 것이 대표적인 방법입니다. 총알의 궤도(직선)가 적의 원에 맞았는지는 바로 이 페이지의 ‘중심과 직선 사이의 거리 \(d\)와 반지름 \(r\)의 비교’로 판정합니다. 두 원이 겹쳤는지도 중심끼리의 거리를 반지름의 합과 비교하는, 같은 발상의 거리 비교로 판정합니다.
원을 쓰는 이유는 방향이 바뀌어도 모양이 변하지 않고, 거리 계산 한 번으로 판정이 끝나기 때문입니다. 게임 프로그래밍을 배우면 원의 방정식이 매 프레임마다 움직이는 현장을 만날 수 있습니다.
휴대전화 기지국이나 Wi-Fi 공유기의 전파가 닿는 범위는 장애물이 없는 이상적인 조건에서 ‘안테나를 중심으로 하는 원(반지름 = 닿는 거리)’으로 모델링합니다. ‘이 장소가 서비스 지역 안인가’는 중심으로부터의 거리와 반지름의 비교, 즉 원의 안쪽인지 바깥쪽인지의 판정입니다.
실제 전파는 지형이나 건물의 영향을 받기 때문에 이대로 되지는 않지만, 기지국을 어디에 두어야 빈 곳이 없어지는지 생각하는 출발점으로 원을 이용한 모델이 쓰입니다.
GPS의 위치 측정은 ‘위성으로부터의 거리를 알면 내가 있는 장소의 후보가 구면(평면으로 생각하면 원)으로 좁혀진다’는 생각에 바탕을 두고 있습니다. 여러 위성으로부터의 거리로 만든 원(구)을 연립해서 교점을 구하면 현재 위치가 계산됩니다.
실제로는 3차원이고 시계 오차의 보정 등도 더해진 훨씬 복잡한 계산이지만, ‘거리가 일정한 점들의 모임 = 원’이라는 원의 방정식의 생각이 바탕이 됩니다.
기계 부품이나 건축 도면에는 볼트 구멍, 원호 모양의 가장자리, 배관의 단면 등 원이 가득합니다. CAD 소프트웨어는 원을 ‘중심의 좌표와 반지름’의 데이터, 즉 표준형의 정보로 관리하며, 도형을 조작할 때마다 원과 직선의 교점이나 접선 계산이 실행됩니다.
‘이 위치에 구멍을 뚫으면 가장자리까지의 거리가 충분한가’ 같은 확인도 중심으로부터의 거리 계산으로 귀결됩니다.
도로와 철도의 곡선 구간의 기본형은 ‘원곡선’이라고 부르는 원호이며, 설계도에서는 중심과 반지름으로 관리합니다. 반지름이 작을수록 급커브가 되므로, 한국의 ‘도로의 구조·시설 기준에 관한 규칙’은 설계속도마다 쓸 수 있는 최소 곡선 반지름을 정하고 있습니다.
직선 구간과 곡선을 매끄럽게 이을 때는 ‘직선과 원이 접한다’는 조건이 그대로 쓰이며, 접선의 생각이 실제 도로의 모양을 정합니다.
공식과 그림
용어·기호 해설
기호
| \((x,\ y)\) | 엑스, 와이 | 원 위를 움직이는 점의 좌표입니다. 원의 방정식은 ‘이 식을 만족하는 \((x,\ y)\)를 모두 모으면 원이 된다’는 뜻의 식입니다. |
| \(a,\ b\) | 에이, 비 | 원의 중심의 좌표 \((a,\ b)\)를 나타내는 문자입니다. ‘정해진 수’를 나타낼 때는 알파벳 앞쪽의 문자 \(a,\ b,\ c\)를 쓰는 관례가 있습니다. 움직이는 점의 \(x,\ y\)와 달리, 하나의 원에서는 값이 고정되어 있습니다. |
| \(r\) | 알 | 원의 반지름입니다. 영어 radius(반지름)의 첫 글자입니다. 표준형의 우변에 나오는 것은 \(r\) 자체가 아니라 제곱한 \(r^{2}\)이라는 점에 주의하세요. |
| \(\mathrm{C}\) | 씨 | 원의 중심을 나타낼 때 자주 쓰는 문자입니다. 영어 center(중심)의 첫 글자입니다. 원 자체를 \(C\)라고 이름 붙이기도 합니다. |
| \(l,\ m,\ n\) | 엘, 엠, 엔 | 일반형 \(x^{2} + y^{2} + lx + my + n = 0\)의 계수입니다. 한국의 교과서에서는 \(x^{2} + y^{2} + Ax + By + C = 0\)처럼 \(A,\ B,\ C\)로 쓰는 경우가 많지만 뜻은 같습니다. |
| \(d\) | 디 | 중심과 직선 사이의 거리입니다. 영어 distance(거리)의 첫 글자입니다. 반지름 \(r\)과의 크기 비교로 원과 직선의 위치 관계가 정해집니다. |
| \(p,\ q,\ s\) | 피, 큐, 에스 | 이 페이지에서 직선의 방정식을 \(px + qy + s = 0\)으로 쓸 때의 계수입니다. 직선의 방정식은 보통 \(ax + by + c = 0\)으로 쓰지만, 이 페이지에서는 원의 중심 \((a,\ b)\)와 문자가 겹치지 않도록 다른 문자를 씁니다. |
| \(\sqrt{\ }\) | 루트(근호) | 제곱하면 그 수가 되는 양수(양의 제곱근)를 나타내는 기호입니다. 반지름은 \(r = \sqrt{r^{2}}\)으로 구합니다. 예를 들어 \(r^{2} = 8\)이면 \(r = \sqrt{8} = 2\sqrt{2}\)입니다. |
용어
| 원 | 평면 위에서 한 점(중심)으로부터의 거리가 일정한(반지름) 점을 모두 모아서 생기는 도형입니다. 이 ‘거리가 일정하다’는 정의를 식으로 나타낸 것이 원의 방정식입니다. |
| 원의 방정식 | 좌표평면 위의 원을 나타내는 식입니다. 식을 만족하는 점 \((x,\ y)\)의 모임이 꼭 원이 됩니다. 고등학교 1학년 수학의 ‘도형의 방정식’에서 배웁니다. |
| 표준형 | \((x - a)^{2} + (y - b)^{2} = r^{2}\) 꼴입니다. 중심 \((a,\ b)\)와 반지름 \(r\)을 식만 보고 읽을 수 있는 것이 장점입니다. |
| 일반형 | 표준형을 전개해서 정리한 \(x^{2} + y^{2} + lx + my + n = 0\) 꼴입니다. 중심이나 반지름을 바로 읽을 수는 없지만, 이미 전개되어 있어서 계산 도중에 다루기 쉬운 꼴입니다. |
| 완전제곱식 | \((x - 2)^{2}\)처럼 어떤 식의 제곱으로 나타낸 식입니다. \(x^{2} + lx\) 같은 식을 \(\left(x + \dfrac{l}{2}\right)^{2} - \dfrac{l^{2}}{4}\)처럼 ‘(덩어리)의 제곱 + 상수’ 꼴로 바꾸는 것을 ‘완전제곱식으로 고친다’고 합니다. 이차함수의 꼭짓점을 구할 때도 쓰는, 이 페이지 계산의 핵심이 되는 방법입니다. |
| 중심 | 원의 한가운데에 있는 점입니다. 원 위의 어느 점에서나 거리가 같은(= 반지름) 점입니다. 표준형의 \((a,\ b)\)가 그대로 중심의 좌표입니다. |
| 반지름 | 중심에서 원 위의 점까지의 거리 \(r\)을 말합니다. 길이이므로 항상 양수입니다. 표준형의 우변 \(r^{2}\)의 양의 제곱근을 구해서 얻습니다. |
| 피타고라스 정리 | 직각삼각형에서 ‘빗변의 길이의 제곱 = 나머지 두 변의 길이의 제곱의 합’이 성립한다는 정리입니다. 두 점 사이의 거리 계산의 바탕이 되며, 원의 방정식의 표준형은 이 정리를 식으로 나타낸 것입니다. 중학교 2학년에서 배웁니다. |
| 교점 | 두 도형이 함께 지나는 점(두 도형이 만나는 점)입니다. 원과 직선이라면 서로 다른 두 점에서 만날 때 2개, 접할 때 1개, 떨어져 있을 때 0개입니다. 좌표는 두 식을 연립해서 구합니다. |
| 접하다 | 원과 직선이 오직 한 점에서만 만나는 것입니다. 이때의 직선을 접선, 그 교점을 접점이라고 합니다. 중심과 접선 사이의 거리는 반지름과 꼭 같아집니다. |
| 현 | 원과 직선이 두 점에서 만날 때 그 두 점을 잇는 선분입니다. 중심에서 현에 내린 수선은 현을 꼭 절반으로 나누므로, 현의 절반, 중심과 직선 사이의 거리 \(d\), 반지름 \(r\)이 피타고라스 정리로 연결됩니다. |
| 점과 직선 사이의 거리 | 점에서 직선에 내린 수선의 길이(점에서 직선까지의 가장 짧은 거리)입니다. 공식 \(d = \dfrac{|ax_0 + by_0 + c|}{\sqrt{a^{2} + b^{2}}}\)로 계산할 수 있고, 원과 직선의 위치 관계를 판정할 때 씁니다. |
| 판별식 | 이차방정식 \(ax^{2} + bx + c = 0\)의 실근의 개수를 알려 주는 식 \(D = b^{2} - 4ac\)를 말합니다. 원과 직선의 방정식을 연립해서 얻은 이차방정식의 판별식으로도 위치 관계를 판정할 수 있습니다(\(D > 0\)이면 두 점, \(D = 0\)이면 접함, \(D < 0\)이면 교점 없음). |
| 좌표평면 | 가로 수직선(\(x\)축)과 세로 수직선(\(y\)축)을 직각으로 짜 맞춰, 점의 위치를 \((x,\ y)\)의 수의 쌍으로 나타낼 수 있게 한 평면입니다. 도형을 식으로 다루는 ‘도형의 방정식’의 무대입니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘의미를 알고’ 쓸 수 있도록, 먼저 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 좌표평면과 점의 좌표(중학교 1학년, 12~13세) |
|
| 피타고라스 정리와 두 점 사이의 거리(중학교 2학년~고등학교 1학년, 13~16세) |
|
| 제곱근(중학교 3학년, 14~15세) |
|
| 곱셈 공식·인수분해와 완전제곱식(중학교 3학년~고등학교 1학년, 14~16세) |
|
| 점과 직선 사이의 거리(고등학교 1학년, 15~16세) |
|
Excel로 계산하는 방법
| x의 계수 l | -4 |
| y의 계수 m | -6 |
| 상수항 n | 9 |
| 중심의 x좌표(−l/2) | =-B1/2 |
| 중심의 y좌표(−m/2) | =-B2/2 |
| 반지름의 제곱 r²(l²/4 + m²/4 − n) | =B1^2/4+B2^2/4-B3 |
| 반지름 r(r² > 0일 때만 원) | =IF(B6>0,SQRT(B6),"원이 아님") |
| 중심의 x좌표 a | 1 |
| 중심의 y좌표 b | -2 |
| 우변의 값(반지름의 제곱 r²) | 9 |
| x의 계수 l(−2a) | =-2*B1 |
| y의 계수 m(−2b) | =-2*B2 |
| 상수항 n(a² + b² − r²) | =B1^2+B2^2-B3 |
| 중심의 x좌표 a | 2 |
| 중심의 y좌표 b | 3 |
| 반지름 r | 2 |
| 직선의 x의 계수 p | 3 |
| 직선의 y의 계수 q | 4 |
| 직선의 상수항 s | -8 |
| 중심과 직선 사이의 거리 d | =ABS(B4*B1+B5*B2+B6)/SQRT(B4^2+B5^2) |
| 위치 관계 판정 | =IF(B7<B3,"서로 다른 두 점에서 만남",IF(B7=B3,"접함","교점 없음")) |
첫 번째 표는 x²+y²−4x−6y+9=0의 예로, 중심 (2, 3), r²=4, 반지름 2가 됩니다. r²이 0 이하이면 원이 되지 않으므로 ‘원이 아님’이 표시됩니다.
두 번째 표는 중심 (1, −2), r²=9의 예로, l=−2, m=4, n=−4, 즉 x²+y²−2x+4y−4=0이 됩니다.
세 번째 표는 원 (x−2)²+(y−3)²=4와 직선 3x+4y−8=0의 예로, d=2가 반지름 2와 같으므로 ‘접함’이 됩니다. SQRT 계산은 소수의 오차가 생길 수 있으므로, 접하는지 정확하게 판정하려면 d²과 r²을 비교하는 방법(=(B4*B1+B5*B2+B6)^2/(B4^2+B5^2)와 B3^2의 비교)이 더 확실합니다.
Google 스프레드시트로 계산하는 방법
| x의 계수 l | -4 |
| y의 계수 m | -6 |
| 상수항 n | 9 |
| 중심의 x좌표(−l/2) | =-B1/2 |
| 중심의 y좌표(−m/2) | =-B2/2 |
| 반지름의 제곱 r²(l²/4 + m²/4 − n) | =B1^2/4+B2^2/4-B3 |
| 반지름 r(r² > 0일 때만 원) | =IF(B6>0,SQRT(B6),"원이 아님") |
| 중심의 x좌표 a | 1 |
| 중심의 y좌표 b | -2 |
| 우변의 값(반지름의 제곱 r²) | 9 |
| x의 계수 l(−2a) | =-2*B1 |
| y의 계수 m(−2b) | =-2*B2 |
| 상수항 n(a² + b² − r²) | =B1^2+B2^2-B3 |
| 중심의 x좌표 a | 2 |
| 중심의 y좌표 b | 3 |
| 반지름 r | 2 |
| 직선의 x의 계수 p | 3 |
| 직선의 y의 계수 q | 4 |
| 직선의 상수항 s | -8 |
| 중심과 직선 사이의 거리 d | =ABS(B4*B1+B5*B2+B6)/SQRT(B4^2+B5^2) |
| 위치 관계 판정 | =IF(B7<B3,"서로 다른 두 점에서 만남",IF(B7=B3,"접함","교점 없음")) |
Python으로 계산하는 방법
from fractions import Fraction
import math
# 일반형 x² + y² + lx + my + n = 0의 계수(3/4 같은 분수는 Fraction(3, 4)로 쓸 수 있음)
coef_l = Fraction(-4)
coef_m = Fraction(-6)
coef_n = Fraction(9)
center_x = -coef_l / 2
center_y = -coef_m / 2
radius_squared = coef_l ** 2 / 4 + coef_m ** 2 / 4 - coef_n
print(f"중심: ({center_x}, {center_y})")
print(f"반지름의 제곱 r²: {radius_squared}")
if radius_squared > 0:
print(f"반지름 r: {math.sqrt(radius_squared)}")
elif radius_squared == 0:
print("원이 되지 않고, 중심 한 점만 나타냅니다")
else:
print("원이 되지 않고, 이 식을 만족하는 점이 없습니다")
# 직선 px + qy + s = 0과의 위치 관계(d²과 r²을 분수 그대로 비교하므로 오차 없이 판정할 수 있음)
line_p = Fraction(3)
line_q = Fraction(4)
line_s = Fraction(-8)
distance_squared = (line_p * center_x + line_q * center_y + line_s) ** 2 / (line_p ** 2 + line_q ** 2)
if distance_squared < radius_squared:
print("원과 직선은 서로 다른 두 점에서 만납니다")
elif distance_squared == radius_squared:
print("원과 직선은 접합니다")
else:
print("원과 직선은 만나지 않습니다")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
(x − a)² + (y − b)² = r²
(x - a)^{2} + (y - b)^{2} = r^{2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msup><mrow><mo>(</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo>)</mo></mrow><mn>2</mn></msup>
<mo>+</mo>
<msup><mrow><mo>(</mo><mi>y</mi><mo>−</mo><mi>b</mi><mo>)</mo></mrow><mn>2</mn></msup>
<mo>=</mo>
<msup><mi>r</mi><mn>2</mn></msup>
</mrow>
</math>
(x - a)^2 + (y - b)^2 = r^2
(x - a)^2 + (y - b)^2 == r^2
(x - a)^2 + (y - b)^2 = r^2;
(x - a)^2 + (y - b)^2 == r^2
(x - a)^2 + (y - b)^2 = r^2
(x + l/2)² + (y + m/2)² = l²/4 + m²/4 − n
\left(x + \frac{l}{2}\right)^{2} + \left(y + \frac{m}{2}\right)^{2} = \frac{l^{2}}{4} + \frac{m^{2}}{4} - n
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msup><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mfrac><mi>l</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup>
<mo>+</mo>
<msup><mrow><mo>(</mo><mi>y</mi><mo>+</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup>
<mo>=</mo>
<mfrac><msup><mi>l</mi><mn>2</mn></msup><mn>4</mn></mfrac>
<mo>+</mo>
<mfrac><msup><mi>m</mi><mn>2</mn></msup><mn>4</mn></mfrac>
<mo>−</mo>
<mi>n</mi>
</mrow>
</math>
(x + l/2)^2 + (y + m/2)^2 = l^2/4 + m^2/4 - n
Simplify[(x + l/2)^2 + (y + m/2)^2 - (l^2/4 + m^2/4 - n) == x^2 + y^2 + l x + m y + n]
Student:-Precalculus:-CompleteSquare(x^2 + y^2 + l*x + m*y + n, [x, y]);
expand((x + l/2)^2 + (y + m/2)^2 - (l^2/4 + m^2/4 - n))
(x + l/2)^2 + (y + m/2)^2 = l^2/4 + m^2/4 - n
d = |pa + qb + s| / √(p² + q²)
d = \frac{\left|pa + qb + s\right|}{\sqrt{p^{2} + q^{2}}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>d</mi>
<mo>=</mo>
<mfrac>
<mrow><mo>|</mo><mi>p</mi><mi>a</mi><mo>+</mo><mi>q</mi><mi>b</mi><mo>+</mo><mi>s</mi><mo>|</mo></mrow>
<msqrt><mrow><msup><mi>p</mi><mn>2</mn></msup><mo>+</mo><msup><mi>q</mi><mn>2</mn></msup></mrow></msqrt>
</mfrac>
</mrow>
</math>
d = |p a + q b + s| / sqrt(p^2 + q^2)
d = Abs[p a + q b + s]/Sqrt[p^2 + q^2]
d := abs(p*a + q*b + s)/sqrt(p^2 + q^2);
d = abs(p*a + q*b + s)/sqrt(p^2 + q^2);
d = |pa + qb + s|/√(p^2 + q^2)
ChatGPT 에게 물어서 계산하는 방법
당신은 수학(도형의 방정식) 계산 도우미입니다. 다음 계산을 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답하세요(암산이나 추측으로 답하지 마세요). 원의 방정식 x² + y² − 4x − 6y + 9 = 0에 대해 다음 내용을 각각 보여 주세요. 1. 완전제곱식으로 고쳐 표준형 (x−a)² + (y−b)² = r²으로 바꾼 식 2. 중심의 좌표와 반지름(정확한 값으로) 3. 직선 3x + 4y − 8 = 0과의 위치 관계(서로 다른 두 점에서 만남/접함/교점 없음)와, 교점이 있으면 그 좌표 Python에서는 표준 라이브러리의 fractions 모듈(또는 sympy)을 써서 정확하게 계산하고, 거리와 반지름의 비교는 d²과 r²의 비교로 하세요. 계산에 쓴 식과 실행 결과의 수치를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다