MCP로 연결 →

계산 입력

2차원 벡터라면 z 칸을 비워 두거나 0으로 입력하세요.

공식

광고

결과

벡터 사이의 각도
90°
1.5708 radians
Dot product (a·b) 0
크기 |a| 1
크기 |b| 1
cos θ 0

이 계산기로 할 수 있는 일

이 도구는 내적(dot product)을 이용해 2차원 또는 3차원 공간에서 두 벡터가 이루는 각도를 구합니다. 벡터 a와 벡터 b의 성분을 입력하면 각도를 도(°)와 라디안 두 단위로 모두 보여 주고, 내적 값, 각 벡터의 크기, 그리고 각도의 코사인 값까지 함께 알려 줍니다. 순수 수학은 물론 물리학, 공학, 컴퓨터 그래픽스, 머신러닝의 유사도 계산까지 폭넓게 활용할 수 있습니다.

공통 원점에서 나온 두 벡터와 그 사이에 표시된 각도 세타
각도 θ는 공통 원점을 가진 두 벡터 사이에서 측정됩니다.

사용 방법

각 벡터의 x, y 성분(필요하다면 z 성분까지)을 입력하세요. 2차원 벡터라면 z 칸을 비워 두거나 0으로 두면 됩니다. 계산 버튼을 누르면 각도가 표시됩니다. 결과로 나오는 각도는 항상 0°에서 180° 사이의 값으로, 두 방향이 이루는 기하학적(가장 작은) 각도입니다.

공식 설명

내적은 각도와 \(a \cdot b = |a||b|\cos\theta\) 의 관계를 가집니다. 이를 θ에 대해 풀면 다음과 같습니다.

$$\theta = \arccos\!\left( \frac{\text{A}_x\,\text{B}_x + \text{A}_y\,\text{B}_y + \text{A}_z\,\text{B}_z}{\sqrt{\text{A}_x^2 + \text{A}_y^2 + \text{A}_z^2}\;\sqrt{\text{B}_x^2 + \text{B}_y^2 + \text{B}_z^2}} \right)$$

내적은 성분별로 곱해 더하는데, \(a \cdot b = a_x b_x + a_y b_y + a_z b_z\) 입니다. 각 벡터의 크기는 성분을 제곱해 합한 값의 제곱근으로, \(|a| = \sqrt{a_x^2 + a_y^2 + a_z^2}\) 입니다. 나눗셈 결과는 반올림 오차를 피하기 위해 arccos를 취하기 전에 \([-1, 1]\) 범위로 제한(클램핑)합니다.

광고
내적 관계를 보여주는 한 벡터의 다른 벡터로의 투영
내적은 한 벡터의 다른 벡터로의 투영과 θ의 코사인과 관련됩니다.

예제로 풀어 보기

\(a = (1, 0, 0)\), \(b = (1, 1, 0)\) 이라고 해 봅시다. 내적은 \(1 \cdot 1 + 0 \cdot 1 + 0 \cdot 0 = 1\) 입니다. 크기는 \(|a| = 1\), \(|b| = \sqrt{2} \approx 1.4142\) 이므로 \(\cos\theta = 1 / (1 \times 1.4142) \approx 0.7071\) 이 됩니다. 따라서 다음과 같습니다.

$$\theta = \arccos(0.7071) = 45° \approx 0.7854 \text{ rad}$$

결과 해석

계산기에서 반환되는 각 \(\theta\)는 두 벡터의 길이와 무관하게 서로 어떻게 지향되어 있는지를 나타냅니다. \(\cos\theta\)의 부호와 크기는 기하학적 관계를 한눈에 알려줍니다.

  • \(\theta = 0^\circ\) (\(\cos\theta = 1\)) — 평행 / 같은 방향. 벡터들이 정확히 같은 방향을 가리키며, 하나는 다른 하나의 양의 스칼라배입니다.
  • \(0^\circ < \theta < 90^\circ\) (\(\cos\theta > 0\)) — 예각. 내적이 양수이고 벡터들이 대체로 유사한 방향을 가리킵니다.
  • \(\theta = 90^\circ\) (\(\cos\theta = 0\)) — 직교 (수직). 내적이 정확히 0입니다. 이는 수직성의 정의적 판별법입니다.
  • \(90^\circ < \theta < 180^\circ\) (\(\cos\theta < 0\)) — 둔각. 내적이 음수이고, 벡터들이 일반적으로 반대 방향을 가리킵니다.
  • \(\theta = 180^\circ\) (\(\cos\theta = -1\)) — 반평행 / 반대 방향. 한 벡터는 다른 벡터의 음의 스칼라배입니다.

기계학습과 텍스트 분석에서, \(\cos\theta\) 자체를 코사인 유사도라고 부릅니다. 직접적으로 해석하면: **1** 값은 동일한 방향(최대 유사)을 의미하고, **0**은 직교/무관을 의미하며, **−1**은 반대 방향을 의미합니다. 크기를 무시하기 때문에 같은 지향성이지만 길이가 다른 두 문서나 임베딩은 동일하게 점수가 매겨집니다. 각과 유사도는 동일한 정보를 담고 있으며 — 각은 단순히 유사도의 \(\arccos\)입니다.

광고

공통 각도 기준값

이 표준 각도와 정확한 코사인값들은 결과 검증과 공통 지향성 인식에 유용합니다. 각은 \(\theta = \arccos(\cos\theta)\)에서 구합니다.

각도 (도) 각도 (라디안) \(\cos\theta\) 관계
\(0\) 1.0000 평행 (같은 방향)
30° \(\pi/6\) 0.8660 예각
45° \(\pi/4\) 0.7071 예각
60° \(\pi/3\) 0.5000 예각
90° \(\pi/2\) 0.0000 직교 (수직)
120° \(2\pi/3\) −0.5000 둔각
135° \(3\pi/4\) −0.7071 둔각
150° \(5\pi/6\) −0.8660 둔각
180° \(\pi\) −1.0000 반평행 (반대)

60°와 같은 십진 도(度) 결과를 도분초(DMS)로 변환하려면, 60° 변환을 사용할 수 있습니다.

자주 묻는 질문

2차원 벡터도 사용할 수 있나요? 네, z 성분을 0으로 두면 공식이 자연스럽게 2차원 경우로 줄어듭니다.

각도가 180°를 넘지 않는 이유는 무엇인가요? arccos 함수는 0부터 π(180°)까지의 값만 반환하기 때문입니다. 이는 방향에 관계없이 두 벡터 사이의 가장 작은 각도를 나타냅니다.

벡터가 영벡터이면 어떻게 되나요? 영벡터는 방향이 없어 각도를 정의할 수 없습니다. 이 계산기는 0으로 나누는 오류를 막기 위해 크기가 0일 때 각도를 0°로 표시합니다.

최종 업데이트: