什么是向量投影?
向量 a 在 b 上的投影,可以理解为 a 投射到 b 所在直线上的「影子」。这个结果本身仍是一个向量,方向与 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 是零向量,投影将无定义,此时返回零。
实例演算
设 \(\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 留空就行。