透過 MCP 連接 →

輸入計算

若為 2D 向量,請將 z 欄位留空(或填 0)。

數學公式

廣告

結果

兩向量夾角
90°
1.5708 radians
Dot product (a·b) 0
向量長度 |a| 1
向量長度 |b| 1
cos θ 0

這個計算器的功能

本工具利用內積(點積)求出 2D 或 3D 空間中兩個向量之間的夾角。只要輸入向量 a 與向量 b 的各個分量,即可得到以「度」與「弧度」表示的夾角,同時顯示內積值、兩個向量各自的長度(大小),以及夾角的餘弦值。無論是純數學、物理、工程、電腦繪圖,還是機器學習中的相似度問題,都能派上用場。

從共同原點出發的兩個向量,其間標有角度 theta
角度 θ 是在共享同一原點的兩個向量之間測量的。

使用方式

分別輸入每個向量的 x、y(以及選填的 z)分量。如果是 2D 向量,只要把 z 欄位留空或填 0 即可。按下計算後就能看到夾角。計算結果一律落在 0° 到 180° 之間,也就是兩個方向之間最小的幾何夾角。

公式說明

內積與夾角的關係為 \(\text{a}\cdot\text{b} = |\text{a}||\text{b}|\cos\theta\)。將公式整理後求 \(\theta\),可得

$$\theta = \arccos\!\left( \frac{\text{a}\cdot\text{b}}{|\text{a}||\text{b}|} \right)$$

內積是逐分量相乘再相加:

$$\text{a}\cdot\text{b} = \text{a}_x\text{b}_x + \text{a}_y\text{b}_y + \text{a}_z\text{b}_z$$

每個向量的長度則是各分量平方和開根號:

$$|\text{a}| = \sqrt{\text{a}_x^2 + \text{a}_y^2 + \text{a}_z^2}$$

為了避免浮點數的捨入誤差,相除後的結果會先限制在 \([-1, 1]\) 範圍內,再取反餘弦。

Advertisement
一個向量在另一個向量上的投影,展示點積關係
點積與一個向量在另一個向量上的投影以及 θ 的餘弦有關。

實例演練

假設 \(\text{a} = (1, 0, 0)\)、\(\text{b} = (1, 1, 0)\)。內積為

$$1\cdot 1 + 0\cdot 1 + 0\cdot 0 = 1$$

兩向量長度為 \(|\text{a}| = 1\)、\(|\text{b}| = \sqrt{2} \approx 1.4142\)。因此

$$\cos\theta = \frac{1}{1 \times 1.4142} \approx 0.7071$$

得到 \(\theta = \arccos(0.7071) = 45°\),約等於 \(0.7854\) 弧度。

解釋您的結果

計算器返回的角度 \(\theta\) 描述了兩個向量相對於彼此的方向,與它們的長度無關。\(\cos\theta\) 的符號和大小可以一目瞭然地告訴您幾何關係。

  • \(\theta = 0^\circ\) (\(\cos\theta = 1\)) — 平行 / 同方向。 向量指向完全相同的方向;一個是另一個的正標量倍數。
  • \(0^\circ < \theta < 90^\circ\) (\(\cos\theta > 0\)) — 銳角。 點積為正,向量指向大致相似的方向。
  • \(\theta = 90^\circ\) (\(\cos\theta = 0\)) — 正交(垂直)。 點積恰好為零。這是垂直性的定義性測試。
  • \(90^\circ < \theta < 180^\circ\) (\(\cos\theta < 0\)) — 鈍角。 點積為負;向量指向大致相反的方向。
  • \(\theta = 180^\circ\) (\(\cos\theta = -1\)) — 反平行 / 相反方向。 一個向量是另一個的負標量倍數。

在機器學習和文本分析中,\(\cos\theta\) 本身稱為餘弦相似度。直接解釋:**1** 表示相同方向(最相似),**0** 表示正交/無關,**−1** 表示相反。由於它忽略了幅度,兩個具有相同方向但長度不同的文檔或嵌入會被評為相同。角度和相似度包含相同的信息 — 角度只是相似度的 \(\arccos\)。

Advertisement

常見角度參考值

這些標準角度及其精確餘弦值對於檢查結果和識別常見方向很有用。角度由 \(\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° 這樣的十進制度數結果轉換為度、分和秒,您可以使用60° 轉換。

常見問題

可以用在 2D 向量嗎?可以——把 z 分量留為 0,公式就會自動簡化成 2D 的情況。

為什麼夾角不會超過 180°?反餘弦函數的值域為 0 到 \(\pi\)(180°),代表的是兩個方向之間最小的夾角,與向量的指向無關。

如果其中一個向量是零向量呢?零向量沒有方向,因此夾角無法定義;為了避免除以零,當任一向量長度為 0 時,本計算器會回傳 0°。

最後更新: