점1과 점2의 좌표를 입력하면 두 점 사이의 거리를 계산합니다. 거리와 함께 두 점을 지나는 직선의 기울기와 직선의 방정식도 표시합니다.
이 페이지에서 할 수 있는 것
- 두 점의 좌표만 넣으면 두 점 사이의 거리 \(d\)를 바로 알 수 있습니다
- 거리와 함께 x의 증가량 \(\Delta x\), y의 증가량 \(\Delta y\), 직선의 기울기 \(m\), 두 점을 지나는 직선의 방정식 \(y = mx + b\)도 한 번에 계산합니다
- 계산 결과는 그래프로도 표시되어, 구한 거리가 두 점을 잇는 선분의 길이라는 것을 그림으로 확인할 수 있습니다
- 공식의 쉬운 해설과 Excel·Google 스프레드시트·Python용 복사해서 쓰는 수식도 이 페이지에 모아 두었습니다
이 계산은 어디에 쓰일까요?
2D 게임에서는 내 캐릭터와 적, 아이템의 위치를 좌표로 관리하고, ‘거리가 일정 값 이하가 되면 충돌’로 판정합니다. 예를 들어 내 캐릭터가 (1, 1), 적이 (4, 5)에 있으면 거리는 \(\sqrt{3^2 + 4^2} = 5\)입니다. 이 계산을 되풀이하는 것이 거리를 이용한 충돌 판정의 원리입니다.
거리 공식은 게임 개발을 배우기 시작하면 가장 먼저 코드로 쓰게 되는 실용적인 공식 가운데 하나입니다.
측량에서는 토지의 경계점이나 공사의 기준점을 직각좌표(평면 위의 x, y 좌표)의 수치로 관리합니다. 두 점의 좌표를 알면 그 사이의 수평 거리는 이 페이지의 거리 공식으로 구할 수 있습니다.
도로나 건물 같은 사회 기반 시설을 만드는 데 이 계산이 쓰입니다(위도·경도로 지구의 둥근 모양을 고려해 거리를 구할 때는 이와 다른 계산식을 씁니다).
데이터 분석에서는 예를 들어 ‘키와 몸무게’ 같은 두 수의 쌍을 좌표평면 위의 점으로 보고, 점끼리의 거리가 가까울수록 ‘비슷한 데이터’로 생각합니다. 이 거리(유클리드 거리)는 비슷한 고객을 묶는 군집 분석(클러스터링)이나 가까운 데이터로 예측하는 k-최근접 이웃 방법에 쓰입니다.
이 페이지의 공식은 AI·머신러닝 교재라면 어디에나 나오는 거리를 재는 기본 방법입니다.
설계 도면이나 CAD에서는 부품에 뚫린 구멍의 중심 같은 위치를 좌표로 지정합니다. 도면에 적혀 있지 않은 경우가 많은 두 구멍의 중심 사이의 비스듬한 거리는 좌표의 차로 거리 공식을 써서 구할 수 있습니다.
예를 들어 가로로 30 mm, 세로로 40 mm 떨어진 두 구멍의 중심 사이의 거리는 \(\sqrt{30^2 + 40^2} = 50\) mm입니다. 가공이나 검사 현장에서 늘 하는 계산입니다.
공식과 그림
용어·기호 해설
기호
| \(d\) | 디 | 두 점 사이의 거리입니다. distance(거리)의 첫 글자입니다. |
| \((x_1, y_1)\), \((x_2, y_2)\) | 엑스 일, 와이 일 | 두 점의 좌표입니다. \(x\)가 가로 방향, \(y\)가 세로 방향의 위치이고, 오른쪽 아래의 작은 숫자(첨자)는 ‘첫 번째 점·두 번째 점’을 구별합니다. |
| \(\Delta x\), \(\Delta y\) | 델타 엑스, 델타 와이 | 증가량(좌표의 차)입니다. \(\Delta\)(델타)는 ‘변화·차’를 나타내는 그리스 문자로, \(\Delta x = x_2 - x_1\), \(\Delta y = y_2 - y_1\)입니다. |
| \(\sqrt{\phantom{a}}\) | 루트(근호) | 제곱근(제곱하면 그 수가 되는 수)을 나타내는 기호입니다. \(\sqrt{25} = 5\)입니다(5² = 25이므로). 거리 공식에서는 마지막에 한 번만 제곱근을 구합니다. |
| \(m\) | 엠 | 두 점을 지나는 직선의 기울기입니다. ‘가로로 1 갈 때마다 세로로 얼마나 변하는가’를 나타냅니다. 양수이면 오른쪽 위로 올라가고, 음수이면 오른쪽 아래로 내려갑니다. |
| \(b\) | 비 | y절편입니다. 직선이 y축과 만나는 높이(\(x = 0\)일 때의 y의 값)입니다. |
용어
| 좌표 | 점의 위치를 (가로 위치, 세로 위치)의 수의 쌍으로 나타낸 것입니다. 점 (4, 5)는 ‘원점에서 오른쪽으로 4, 위로 5’인 위치입니다. 중학교 1학년에서 배웁니다. |
| 좌표평면 | 가로의 x축과 세로의 y축으로 위치를 나타내는 평면입니다. 이 페이지의 거리는 좌표평면 위의 두 점을 곧게 이은 길이입니다. |
| 선분 | 두 점을 양 끝으로 하여 곧게 이은 선입니다. 두 점 사이의 거리는 이 선분의 길이를 말합니다. |
| 피타고라스 정리 | 직각삼각형에서 ‘직각을 낀 두 변의 제곱의 합 = 빗변의 제곱’(\(a^2 + b^2 = c^2\))이 성립한다는 정리입니다. 거리 공식은 이 정리를 좌표에 적용한 것입니다. 중학교 2학년에서 배웁니다. |
| 빗변 | 직각삼각형에서 직각의 맞은편에 있는 가장 긴 변입니다. 거리 공식에서는 두 점을 잇는 선분이 직각삼각형의 빗변에 해당합니다. |
| 유클리드 거리 | 이 페이지에서 계산하는 ‘두 점을 곧게 이은 거리’의 정식 이름입니다. 데이터 분석이나 AI 분야에서 점끼리 얼마나 가까운지를 재는 기본 거리로 이 이름이 자주 쓰입니다. |
| 기울기 | 직선이 기울어진 정도를 나타내는 수입니다. ‘x가 1 증가할 때 y가 얼마나 증가하는가’로, 중학교 2학년 일차함수에서 배우는 ‘변화율’과 같습니다. |
| y축에 평행한 직선 | x축에 수직인(위아래로 곧게 뻗은) 직선입니다. x좌표가 같은 두 점을 지나는 직선이 이것이며, x의 증가량이 0이므로 기울기가 정의되지 않습니다. 식은 \(x = k\)(\(k\)는 상수)의 꼴이 됩니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘의미를 알고’ 쓸 수 있도록, 먼저 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 좌표평면(중학교 1학년, 12~13세) |
|
| 정수와 유리수의 계산(중학교 1학년, 12~13세) |
|
| 제곱근(중학교 3학년, 14~15세) |
|
| 피타고라스 정리(중학교 2학년, 13~14세) |
|
| 일차함수(중학교 2학년, 13~14세) |
|
Excel로 계산하는 방법
| 점1의 x좌표 x₁ | 1 |
| 점1의 y좌표 y₁ | 1 |
| 점2의 x좌표 x₂ | 4 |
| 점2의 y좌표 y₂ | 5 |
| 두 점 사이의 거리 d | =SQRT((B3-B1)^2+(B4-B2)^2) |
| 점1의 x좌표 x₁ | 1 |
| 점1의 y좌표 y₁ | 1 |
| 점2의 x좌표 x₂ | 4 |
| 점2의 y좌표 y₂ | 5 |
| x의 증가량 Δx | =B3-B1 |
| y의 증가량 Δy | =B4-B2 |
| 제곱의 합 Δx²+Δy² | =B5^2+B6^2 |
| 두 점 사이의 거리 d | =SQRT(B7) |
| 점1의 x좌표 x₁ | 1 |
| 점1의 y좌표 y₁ | 5 |
| 점2의 x좌표 x₂ | 3 |
| 점2의 y좌표 y₂ | 2 |
| 기울기 m | =(B4-B2)/(B3-B1) |
| y절편 b | =B2-B5*B1 |
‘SQRT(…)’는 제곱근, ‘^2’는 제곱입니다.
첫 번째 표는 거리 5를 구합니다. 두 번째 표는 Δx = 3, Δy = 4와 제곱의 합 25를 거쳐 같은 거리 5를 구하므로, 중간 값도 확인할 수 있습니다.
세 번째 표는 기울기 −1.5와 y절편 6.5(직선 y = −1.5x + 6.5)를 구합니다. 두 점의 x좌표가 같으면 0으로 나누게 되어 오류(#DIV/0!)가 나타나는데, 이것은 기울기가 정의되지 않는다(y축에 평행한 직선)는 뜻입니다.
Google 스프레드시트로 계산하는 방법
| 점1의 x좌표 x₁ | 1 |
| 점1의 y좌표 y₁ | 1 |
| 점2의 x좌표 x₂ | 4 |
| 점2의 y좌표 y₂ | 5 |
| 두 점 사이의 거리 d | =SQRT((B3-B1)^2+(B4-B2)^2) |
| 점1의 x좌표 x₁ | 1 |
| 점1의 y좌표 y₁ | 1 |
| 점2의 x좌표 x₂ | 4 |
| 점2의 y좌표 y₂ | 5 |
| x의 증가량 Δx | =B3-B1 |
| y의 증가량 Δy | =B4-B2 |
| 제곱의 합 Δx²+Δy² | =B5^2+B6^2 |
| 두 점 사이의 거리 d | =SQRT(B7) |
| 점1의 x좌표 x₁ | 1 |
| 점1의 y좌표 y₁ | 5 |
| 점2의 x좌표 x₂ | 3 |
| 점2의 y좌표 y₂ | 2 |
| 기울기 m | =(B4-B2)/(B3-B1) |
| y절편 b | =B2-B5*B1 |
Python으로 계산하는 방법
import math
x1, y1 = 1.0, 1.0 # 점1의 좌표
x2, y2 = 4.0, 5.0 # 점2의 좌표
delta_x = x2 - x1 # x의 증가량
delta_y = y2 - y1 # y의 증가량
distance = math.hypot(delta_x, delta_y) # 두 점 사이의 거리(√(Δx²+Δy²)와 같음)
print(f"두 점 사이의 거리 d: {distance}")
# 덧붙임: 두 점을 지나는 직선의 기울기와 방정식(Δx가 0이면 y축에 평행한 직선이라 정의되지 않음)
if delta_x != 0:
slope = delta_y / delta_x # 기울기 m
y_intercept = y1 - slope * x1 # y절편 b
sign = "+" if y_intercept >= 0 else "-" # 절편이 음수일 때 "+ -0.3"처럼 표시되지 않도록 부호를 분리
print(f"기울기 m: {slope}")
print(f"y절편 b: {y_intercept}")
print(f"직선의 방정식: y = {slope}x {sign} {abs(y_intercept)}")
else:
print(f"y축에 평행한 직선(x = {x1})이므로 기울기가 정의되지 않습니다")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
d = √((x₂ − x₁)² + (y₂ − y₁)²)
d = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>d</mi>
<mo>=</mo>
<msqrt>
<mrow>
<msup>
<mrow><mo>(</mo><msub><mi>x</mi><mn>2</mn></msub><mo>−</mo><msub><mi>x</mi><mn>1</mn></msub><mo>)</mo></mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mrow><mo>(</mo><msub><mi>y</mi><mn>2</mn></msub><mo>−</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo></mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mrow>
</math>
d = sqrt((x_2 - x_1)^2 + (y_2 - y_1)^2)
Sqrt[(x2 - x1)^2 + (y2 - y1)^2]
d := sqrt((x2 - x1)^2 + (y2 - y1)^2);
d = sqrt((x2 - x1)^2 + (y2 - y1)^2);
d = √((x_2 - x_1)^2 + (y_2 - y_1)^2)
Δx² + Δy² = d²
\Delta x^2 + \Delta y^2 = d^2
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msup><mrow><mi mathvariant="normal">Δ</mi><mi>x</mi></mrow><mn>2</mn></msup>
<mo>+</mo>
<msup><mrow><mi mathvariant="normal">Δ</mi><mi>y</mi></mrow><mn>2</mn></msup>
<mo>=</mo>
<msup><mi>d</mi><mn>2</mn></msup>
</mrow>
</math>
(Delta x)^2 + (Delta y)^2 = d^2
dx^2 + dy^2 == d^2
dx^2 + dy^2 = d^2;
dx^2 + dy^2 == d^2
Δx^2 + Δy^2 = d^2
m = (y₂ − y₁) ÷ (x₂ − x₁), y = mx + b (b = y₁ − m·x₁)
m = \frac{y_2 - y_1}{x_2 - x_1}, \quad y = mx + b, \quad b = y_1 - m x_1
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>m</mi>
<mo>=</mo>
<mfrac>
<mrow><msub><mi>y</mi><mn>2</mn></msub><mo>−</mo><msub><mi>y</mi><mn>1</mn></msub></mrow>
<mrow><msub><mi>x</mi><mn>2</mn></msub><mo>−</mo><msub><mi>x</mi><mn>1</mn></msub></mrow>
</mfrac>
<mo>,</mo>
<mi>y</mi>
<mo>=</mo>
<mi>m</mi><mi>x</mi>
<mo>+</mo>
<mi>b</mi>
<mo>,</mo>
<mi>b</mi>
<mo>=</mo>
<msub><mi>y</mi><mn>1</mn></msub>
<mo>−</mo>
<mi>m</mi><msub><mi>x</mi><mn>1</mn></msub>
</mrow>
</math>
m = (y_2 - y_1)/(x_2 - x_1), y = m x + b, b = y_1 - m x_1
m = (y2 - y1)/(x2 - x1); b = y1 - m*x1; y = m*x + b
m := (y2 - y1)/(x2 - x1); b := y1 - m*x1; y := m*x + b;
m = (y2 - y1)/(x2 - x1); b = y1 - m*x1; y = m*x + b;
m = (y_2 - y_1)/(x_2 - x_1), y = mx + b, b = y_1 - mx_1
ChatGPT 에게 물어서 계산하는 방법
당신은 수학 계산 도우미입니다. 다음 계산을 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답해 주세요(암산이나 추측으로 답하지 마세요). 좌표평면 위의 두 점 (1, 1)과 (4, 5)에 대해 다음을 각각 구해 주세요. 1. 두 점 사이의 거리 d(거리 공식 d = √((x2−x1)² + (y2−y1)²)를 사용) 2. x의 증가량 Δx와 y의 증가량 Δy 3. 이 두 점을 지나는 직선의 기울기 m과 직선의 방정식 y = mx + b(y절편 b의 값도 보여 주세요) 사용한 식과 실행 결과의 수치를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다