通过MCP连接 →

输入计算

Leave the z components blank for 2D vectors. This computes the projection of a onto b.

数学公式

广告

结果

a 在 b 上的投影
(3, 0, 0)
proj_b(a)
标量系数 (a·b)/(b·b) 3
点积 a·b 3
点积 b·b 1
投影的模长 3

什么是向量投影?

向量 ab 上的投影,可以理解为 a 投射到 b 所在直线上的「影子」。这个结果本身仍是一个向量,方向与 b 相同(或正好相反)。它回答的问题是:a 中有多少分量沿着 b 的方向?这是物理学(力的分解)、计算机图形学、机器学习和线性代数中的一项基础运算。

图示展示向量 a、向量 b,以及通过垂线得到的 a 在 b 上的投影
a 在 b 上的投影是 a 沿 b 方向的影子。

如何使用本计算器

输入向量 a 和向量 b 的各个分量。如果是二维向量,只需把 z 分量留空即可(默认取 0)。点击计算,你就能得到完整的投影向量、标量系数、两个点积,以及投影的模长(长度)。

公式详解

投影的计算公式为:

$$\operatorname{proj}_{\vec{b}}\vec{a} = \frac{\vec{a}\cdot\vec{b}}{\vec{b}\cdot\vec{b}}\,\vec{b}$$

首先求点积 \(\vec{a}\cdot\vec{b} = \text{a}_x\text{b}_x + \text{a}_y\text{b}_y + \text{a}_z\text{b}_z\)。然后除以 \(\vec{b}\cdot\vec{b}\)(即 b 长度的平方),得到一个标量系数。最后将这个标量乘以 b 的每个分量进行缩放。需要注意的是,b 必须为非零向量;如果 b 是零向量,投影将无定义,此时返回零。

Advertisement
投影公式的几何分解,展示沿 b 的标量长度乘以 b 的方向
标量因子 \((\vec{a}\cdot\vec{b})/(\vec{b}\cdot\vec{b})\) 对向量 b 进行缩放,得到投影向量。

实例演算

设 \(\vec{a} = (4,\, 1)\),\(\vec{b} = (2,\, 3)\)。则 $$\vec{a}\cdot\vec{b} = 4\cdot2 + 1\cdot3 = 11,\quad \vec{b}\cdot\vec{b} = 2^2 + 3^2 = 13.$$ 标量系数为 \(11/13 \approx 0.8462\)。投影向量为 $$0.8462 \cdot (2,\, 3) = (1.6923,\, 2.5385),$$ 其模长为 \(\sqrt{1.6923^2 + 2.5385^2} \approx 3.0509\)。

常见问题

标量投影和向量投影有什么区别? 标量投影是带符号的长度 \((\vec{a}\cdot\vec{b})/|\vec{b}|\),是一个单独的数值。而向量投影(本工具所计算的)则是把这个数值乘以 b 的单位向量,得到的是一个真正的向量。

投影方向会与 b 相反吗? 会的——如果 \(\vec{a}\cdot\vec{b}\) 为负,标量系数就是负的,投影向量便会指向与 b 相反的方向。

支持三维计算吗? 支持。只要为两个向量都填上 z 分量即可。处理二维问题时把 z 留空就行。

最后更新: