점1과 점2의 xyz 좌표를 입력하면 3차원 공간에서 두 점 사이의 거리를 계산합니다. x, y, z 각각의 증가량도 함께 표시합니다.
목차
이 페이지에서 할 수 있는 것
- 공간(3차원)의 두 점의 xyz 좌표만 넣으면 두 점 사이의 거리 \(d\)를 바로 알 수 있습니다
- 거리와 함께 x의 증가량 \(\Delta x\), y의 증가량 \(\Delta y\), z의 증가량 \(\Delta z\)도 한 번에 계산합니다
- 계산 결과는 마우스로 빙글빙글 돌릴 수 있는 3D 그림으로도 표시되어, 구한 거리가 두 점을 잇는 선분(직육면체의 대각선)의 길이라는 것을 눈으로 확인할 수 있습니다
- 공식의 쉬운 해설과 Excel·Google 스프레드시트·Python용 복사해서 쓰는 수식도 이 페이지에 모아 두었습니다
이 계산은 어디에 쓰일까요?
3D 게임에서는 캐릭터와 총알, 아이템의 위치를 (x, y, z)의 좌표로 관리하고, ‘거리가 일정 값 이하가 되면 충돌’, ‘일정 거리 안으로 들어오면 적이 알아챔’처럼 판정합니다. 예를 들어 내 캐릭터가 (1, 1, 1), 적이 (2, 3, 3)에 있으면 거리는 \(\sqrt{1^2 + 2^2 + 2^2} = 3\)입니다. 이 계산을 매 프레임 되풀이하는 것이 3D 게임의 거리 판정의 원리입니다.
평면의 2D 게임에서 쓰는 거리 공식에 \(z\)의 항이 하나 늘었을 뿐입니다.
드론의 위치는 ‘수평 방향으로 얼마나 떨어져 있는지(x, y)’와 ‘높이(z)’의 세 수로 나타낼 수 있습니다. 조종자에게서 수평으로 동쪽 60 m, 북쪽 80 m, 높이 50 m에 있는 기체까지의 직선거리는 \(\sqrt{60^2 + 80^2 + 50^2} = \sqrt{12500} \fallingdotseq 111.8\) m로 계산할 수 있습니다.
전파가 닿는 범위나 눈으로 볼 수 있는 거리를 생각할 때 이 공간에서의 거리를 씁니다.
3D CAD에서는 부품의 구멍의 중심이나 꼭짓점의 위치를 공간의 좌표로 지정합니다. 도면에 적혀 있지 않은 경우가 많은, 공간에서 비스듬히 떨어진 두 점 사이의 거리는 좌표의 차로 이 페이지의 공식을 써서 구할 수 있습니다. 예를 들어 가로로 30 mm, 안쪽으로 40 mm, 위로 120 mm 떨어진 두 점 사이의 거리는 \(\sqrt{30^2 + 40^2 + 120^2} = 130\) mm입니다.
보강재의 길이나 배관·배선의 가장 짧은 경로를 어림하는 등 물건을 만드는 현장에서 늘 하는 계산입니다.
화학에서는 분자 속 원자 하나하나의 위치를 공간의 좌표로 기록합니다(단백질 데이터베이스도 이 형식입니다). 두 원자의 좌표를 알면 그 사이의 거리(결합 길이나 원자끼리 얼마나 가까운지)를 바로 이 페이지의 공식으로 구할 수 있습니다.
신약 후보 분자가 목표 단백질에 잘 들어맞는지 확인할 때처럼, 신약 개발과 소재 개발을 뒷받침하는 기본 계산입니다.
공식과 그림
용어·기호 해설
기호
| \(d\) | 디 | 공간에서 두 점 사이의 거리입니다. distance(거리)의 첫 글자입니다. |
| \((x_1, y_1, z_1)\), \((x_2, y_2, z_2)\) | 엑스 일, 와이 일, 제트 일 | 공간의 두 점의 좌표입니다. \(x\), \(y\) 두 개로 평면 위의 위치를, \(z\)로 높이를 나타내며, 오른쪽 아래의 작은 숫자(첨자)는 ‘첫 번째 점·두 번째 점’을 구별합니다. |
| \(\Delta x\), \(\Delta y\), \(\Delta z\) | 델타 엑스, 델타 와이, 델타 제트 | 증가량(좌표의 차)입니다. \(\Delta\)(델타)는 ‘변화·차’를 나타내는 그리스 문자로, \(\Delta x = x_2 - x_1\), \(\Delta y = y_2 - y_1\), \(\Delta z = z_2 - z_1\)입니다. |
| \(\ell\) | 엘 | 이 해설에서 직육면체의 ‘바닥면의 대각선’의 길이에 붙인 기호입니다. \(\ell^2 = \Delta x^2 + \Delta y^2\)으로, 피타고라스 정리를 두 번 쓰는 유도 과정의 중간 단계 역할을 합니다. |
| \(\sqrt{\phantom{a}}\) | 루트(근호) | 제곱근(제곱하면 그 수가 되는 수)을 나타내는 기호입니다. \(\sqrt{9} = 3\)입니다(3² = 9이므로). 공간에서의 거리 공식에서도 마지막에 한 번만 제곱근을 구합니다. |
용어
| 좌표공간 | x축, y축에 높이를 나타내는 z축을 더해, 점의 위치를 (x, y, z)의 세 수의 쌍으로 나타내는 공간입니다. 평면(2차원)의 좌표에 ‘높이’가 하나 더해진 것입니다. |
| 좌표 | 점의 위치를 수의 쌍으로 나타낸 것입니다. 공간에서는 점 (2, 3, 3)처럼 세 수의 쌍이 되며, ‘x 방향으로 2, y 방향으로 3, z 방향(높이)으로 3’인 위치를 나타냅니다. |
| 선분 | 두 점을 양 끝으로 하여 곧게 이은 선입니다. 두 점 사이의 거리는 이 선분의 길이를 말합니다. |
| 피타고라스 정리 | 직각삼각형에서 ‘직각을 낀 두 변의 제곱의 합 = 빗변의 제곱’이 성립한다는 정리입니다. 공간에서의 거리 공식은 이 정리를 두 번 이어서 쓴 것입니다. 중학교 2학년에서 배웁니다. |
| 직육면체의 대각선 | 직육면체에서 서로 마주 보는 꼭짓점끼리 내부를 지나 이은 선입니다. 가로 a, 세로 b, 높이 c인 직육면체의 대각선의 길이는 \(\sqrt{a^2 + b^2 + c^2}\)이고, 공간에서 두 점 사이의 거리는 이것과 같은 계산입니다. |
| 유클리드 거리 | 이 페이지에서 계산하는 ‘두 점을 곧게 이은 거리’의 정식 이름입니다. 3차원뿐 아니라 데이터 분석이나 AI 분야에서도 점끼리 얼마나 가까운지를 재는 기본 거리로 이 이름이 자주 쓰입니다. |
| 차원 | 위치를 나타내는 데 필요한 수의 개수입니다. 직선 위는 1차원(수직선), 평면은 2차원(x, y), 공간은 3차원(x, y, z)입니다. 거리 공식은 차원이 하나 늘 때마다 근호 안의 항이 하나씩 늘어날 뿐, 모양은 바뀌지 않습니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘의미를 알고’ 쓸 수 있도록, 먼저 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 좌표평면(중학교 1학년, 12~13세) |
|
| 정수와 유리수의 계산(중학교 1학년, 12~13세) |
|
| 제곱근(중학교 3학년, 14~15세) |
|
| 피타고라스 정리(중학교 2학년, 13~14세) |
|
| 입체도형과 좌표공간(중학교 1학년·고등학교) |
|
Excel로 계산하는 방법
| 점1의 x좌표 x₁ | 1 |
| 점1의 y좌표 y₁ | 1 |
| 점1의 z좌표 z₁ | 1 |
| 점2의 x좌표 x₂ | 2 |
| 점2의 y좌표 y₂ | 3 |
| 점2의 z좌표 z₂ | 3 |
| 두 점 사이의 거리 d | =SQRT((B4-B1)^2+(B5-B2)^2+(B6-B3)^2) |
| 점1의 x좌표 x₁ | 0 |
| 점1의 y좌표 y₁ | 0 |
| 점1의 z좌표 z₁ | 0 |
| 점2의 x좌표 x₂ | 3 |
| 점2의 y좌표 y₂ | 4 |
| 점2의 z좌표 z₂ | 12 |
| x의 증가량 Δx | =B4-B1 |
| y의 증가량 Δy | =B5-B2 |
| z의 증가량 Δz | =B6-B3 |
| 바닥면의 대각선 ℓ=√(Δx²+Δy²) | =SQRT(B7^2+B8^2) |
| 두 점 사이의 거리 d=√(ℓ²+Δz²) | =SQRT(B10^2+B9^2) |
‘SQRT(…)’는 제곱근, ‘^2’는 제곱입니다.
첫 번째 표는 거리 3을 구합니다. 두 번째 표는 Δx = 3, Δy = 4, Δz = 12에서 먼저 바닥면의 대각선 ℓ = 5를 구하고, 이어서 거리 d = 13을 구하므로 피타고라스 정리를 두 번 쓰는 중간 값도 확인할 수 있습니다.
Google 스프레드시트로 계산하는 방법
| 점1의 x좌표 x₁ | 1 |
| 점1의 y좌표 y₁ | 1 |
| 점1의 z좌표 z₁ | 1 |
| 점2의 x좌표 x₂ | 2 |
| 점2의 y좌표 y₂ | 3 |
| 점2의 z좌표 z₂ | 3 |
| 두 점 사이의 거리 d | =SQRT((B4-B1)^2+(B5-B2)^2+(B6-B3)^2) |
| 점1의 x좌표 x₁ | 0 |
| 점1의 y좌표 y₁ | 0 |
| 점1의 z좌표 z₁ | 0 |
| 점2의 x좌표 x₂ | 3 |
| 점2의 y좌표 y₂ | 4 |
| 점2의 z좌표 z₂ | 12 |
| x의 증가량 Δx | =B4-B1 |
| y의 증가량 Δy | =B5-B2 |
| z의 증가량 Δz | =B6-B3 |
| 바닥면의 대각선 ℓ=√(Δx²+Δy²) | =SQRT(B7^2+B8^2) |
| 두 점 사이의 거리 d=√(ℓ²+Δz²) | =SQRT(B10^2+B9^2) |
Python으로 계산하는 방법
import math
x1, y1, z1 = 1.0, 1.0, 1.0 # 점1의 좌표
x2, y2, z2 = 2.0, 3.0, 3.0 # 점2의 좌표
delta_x = x2 - x1 # x의 증가량
delta_y = y2 - y1 # y의 증가량
delta_z = z2 - z1 # z의 증가량
distance = math.sqrt(delta_x**2 + delta_y**2 + delta_z**2) # 두 점 사이의 거리
print(f"x의 증가량 Δx: {delta_x}")
print(f"y의 증가량 Δy: {delta_y}")
print(f"z의 증가량 Δz: {delta_z}")
print(f"두 점 사이의 거리 d: {distance}")
# 같은 계산을 math.dist로 한 줄에 쓸 수도 있습니다(Python 3.8 이상)
print(f"math.dist로 확인: {math.dist((x1, y1, z1), (x2, y2, z2))}")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
d = √((x₂ − x₁)² + (y₂ − y₁)² + (z₂ − z₁)²)
d = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2 + (z_2 - z_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>
<mo>+</mo>
<msup>
<mrow><mo>(</mo><msub><mi>z</mi><mn>2</mn></msub><mo>−</mo><msub><mi>z</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 + (z_2 - z_1)^2)
Sqrt[(x2 - x1)^2 + (y2 - y1)^2 + (z2 - z1)^2]
d := sqrt((x2 - x1)^2 + (y2 - y1)^2 + (z2 - z1)^2);
d = sqrt((x2 - x1)^2 + (y2 - y1)^2 + (z2 - z1)^2);
d = √((x_2 - x_1)^2 + (y_2 - y_1)^2 + (z_2 - z_1)^2)
Δx² + Δy² + Δz² = d²
\Delta x^2 + \Delta y^2 + \Delta z^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><mrow><mi mathvariant="normal">Δ</mi><mi>z</mi></mrow><mn>2</mn></msup>
<mo>=</mo>
<msup><mi>d</mi><mn>2</mn></msup>
</mrow>
</math>
(Delta x)^2 + (Delta y)^2 + (Delta z)^2 = d^2
dx^2 + dy^2 + dz^2 == d^2
dx^2 + dy^2 + dz^2 = d^2;
dx^2 + dy^2 + dz^2 == d^2
Δx^2 + Δy^2 + Δz^2 = d^2
ChatGPT 에게 물어서 계산하는 방법
당신은 수학 계산 도우미입니다. 다음 계산을 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답해 주세요(암산이나 추측으로 답하지 마세요). 공간(좌표공간)의 두 점 (1, 1, 1)과 (2, 3, 3)에 대해 다음을 각각 구해 주세요. 1. 두 점 사이의 거리 d(공간에서의 거리 공식 d = √((x2−x1)² + (y2−y1)² + (z2−z1)²)를 사용) 2. x의 증가량 Δx, y의 증가량 Δy, z의 증가량 Δz 사용한 식과 실행 결과의 수치를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다