向量投影计算器

向量投影计算器

输入各分量,用逗号、空格或分号分隔。小数请使用小数点。

向量 a 在向量 b 上的投影,就是 a 中沿 b 方向的那一部分,可以理解为 a 在过 b 的直线上投下的影子。输入两个向量的各个分量,计算器会给出投影向量、标量投影、剩下的正交分量、点积以及两个向量的夹角。它支持 2 维、3 维,以及最多 20 个分量的任意维度。如果 b 是零向量,由于没有可供投影的方向,计算器会明确提示。

如何把一个向量投影到另一个向量上

  1. 1

    输入向量 a

    输入要被投影的向量的各个分量,用逗号、空格或分号分隔,例如 3, 4 或 1, 2, 3。小数请使用小数点。

  2. 2

    输入向量 b

    输入决定方向的向量。它的分量个数必须与 a 相同,且不能全为零。

  3. 3

    查看投影结果

    结果页会显示 a 在 b 上的投影、标量投影、正交分量、夹角、点积以及投影的长度。投影向量可以一键复制。

向量投影公式的含义

向量 a 在向量 b 上的投影为

proj_b(a) = (a · b / |b|²) b

其中 a · b 是点积,|b|² 是 b 与自身的点积。这个分数只是一个乘在 b 上的数,所以投影一定落在过 b 的直线上。如果分数为负,投影的方向与 b 相反,这发生在两个向量的夹角大于 90 度的时候。

计算器给出的结果

结果 公式 含义
投影 (a · b / |b|²) b a 沿 b 方向的分量,用向量表示
标量投影 a · b / |b| 该分量带符号的长度
正交分量 a - proj_b(a) a 中与 b 垂直的剩余部分
夹角 arccos(a · b / (|a| |b|)) 介于 0 度到 180 度之间
投影长度 |a · b| / |b| 去掉符号的标量投影

把投影和正交分量相加,就能还原出 a。这正是分解的意义:a 被拆成沿 b 的一部分和与 b 成直角的一部分。

算例

a b 投影 标量投影 夹角
(3, 4) (5, 0) (3, 0) 3 53.130102°
(2, 3) (0, 5) (0, 3) 3 33.690068°
(1, 0) (-2, 0) (1, 0) -1 180°
(1, 0) (0, 1) (0, 0) 0 90°
(1, 2, 3) (4, -5, 6) (0.623377, -0.779221, 0.935065) 1.367527 68.562447°

第一行中,a · b = 3 × 5 + 4 × 0 = 15,|b|² = 25,所以系数为 0.6,投影为 0.6 × (5, 0) = (3, 0)。正交分量为 (3, 4) - (3, 0) = (0, 4),与 (5, 0) 垂直。

标量投影与向量投影的区别

标量投影是一个带符号的数,向量投影则是这个数乘以 b 的单位向量。有的教材把标量投影称为 a 在 b 方向上的分量。也有的教材用“投影”一词指标量,所以抄答案之前,请先确认你的课程说的是哪一个。

常见错误

  • 投影到了错误的向量上。一般来说,proj_b(a) 与 proj_a(b) 是不同的向量。
  • 维数不一致。两个向量的分量个数必须相同。
  • 使用 b = (0, 0)。公式要除以 |b|²,所以零向量没有投影。
  • 忘记符号。标量投影为负,说明 a 偏向与 b 相反的一侧。

常见问题

计算器会显示错误提示,而不是数值。投影需要除以 b 长度的平方,而零向量的长度为零,没有可供投影的方向。请返回重新输入至少有一个非零分量的 b。

可以。此时投影和正交分量都是零向量,标量投影为 0。夹角会显示为未定义,因为要确定夹角,两个向量都必须有方向。

1 到 20 个。2 维用两个数,3 维用三个数,更高维度则输入更多。向量 a 和 b 的分量个数必须一致,否则计算器会提示你修正。

分量之间用逗号、空格或分号分隔,小数点使用英文句点。括号会被忽略,因此 3, 4 和 (3; 4) 都可以。也支持 1.5e-3 这样的科学计数法。

因为 a 与 b 的夹角大于 90 度,a 有一部分指向 b 的反方向。此时向量投影与 b 方向相反,点积也是负数。

是的。它等于 a 减去投影,它与 b 的点积除了极小的舍入误差外为零。结果显示到小数点后六位,所以像 53.130102 度这样的精确值是经过四舍五入的。

投影是把 a 落到过 b 的直线上。反射是把 a 沿该直线做镜像,等于投影的两倍减去 a。本计算器给出投影和正交分量,你可以据此手算出反射。

相关工具

此工具还提供其他语言版本