两向量夹角计算器
这个计算器能做什么
本工具利用点积,计算二维或三维空间中两个向量之间的夹角。只需输入向量 a 与向量 b 的各个分量,即可同时得到以度数和弧度表示的夹角,以及点积、两个向量各自的模长和夹角的余弦值。无论是纯数学运算、物理与工程计算、计算机图形学,还是机器学习中的相似度问题,都能派上用场。
角度 \(\theta\) 是在共享同一原点的两个向量之间测量的。
使用方法
分别填入两个向量的 x、y 分量(z 分量可选)。如果是二维向量,只要把 z 字段留空或填 0 即可。点击"计算"就能看到夹角。返回的夹角始终介于 0° 到 180° 之间,即两个方向之间最小的几何夹角。
公式详解
点积与夹角的关系为 \(a \cdot b = |a||b|\cos\theta\)。对 \(\theta\) 求解可得
$$\theta = \arccos\!\left( \frac{a \cdot b}{|a||b|} \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}$$
为避免舍入误差,在取反余弦之前会先把相除的结果限制在 \([-1, 1]\) 范围内。
Advertisement
点积与一个向量在另一个向量上的投影以及 \(\theta\) 的余弦有关。
实例演算
设 \(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 = \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°
\(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° 转换。
常见问题
可以用于二维向量吗? 可以——把 z 分量填成 0,公式就会自动退化为二维情形。
为什么夹角永远不会超过 180°? 反余弦函数的取值范围是 0 到 \(\pi\)(180°),它表示两个方向之间最小的夹角,与朝向无关。
如果某个向量是零向量怎么办? 零向量没有方向,夹角无法定义;为避免除以零,当某个向量的模长为 0 时,本计算器会返回 0°。
Read More