如何对三维向量进行(部分)叉除运算?
大家好,今天来聊一个三维向量叉积里的实用技巧——咱们能实现一种「部分叉除」的操作,先把背景说清楚:
很多人都会说三维向量不存在「叉除」运算,这话确实没错,但也有可以变通的场景。
假设我们已经知道 $\vec{A} \times \vec{B} = \vec{C}$,而且手里有 $\vec{A}$ 和 $\vec{C}$ 的具体值,那你要知道:满足这个等式的 $\vec{B}$ 向量有无数个。
这是因为任何一个符合条件的 $\vec{B}$ 都能拆成两个部分:
- 一个是和 $\vec{A}$ 平行的分量 $\vec{B}_{parr}$
- 另一个是和 $\vec{A}$ 垂直的分量 $\vec{B}_p$
其中,平行分量 $\vec{B}_{parr}$ 对叉积结果 $\vec{C}$ 没有任何贡献——毕竟两个平行向量的叉积结果是零向量嘛。所以真正决定 $\vec{C}$ 的是垂直分量 $\vec{B}_p$,这也是「部分叉除」的核心:虽然我们没法确定完整的 $\vec{B}$(因为平行分量可以是任意和 $\vec{A}$ 平行的向量),但我们能唯一确定 $\vec{B}$ 中垂直于 $\vec{A}$ 的那个分量 $\vec{B}_p$。
如果要推导这个垂直分量的具体表达式,也很简单:对等式 $\vec{A} \times \vec{B} = \vec{C}$ 两边同时叉乘 $\vec{A}$,得到 $\vec{A} \times (\vec{A} \times \vec{B}) = \vec{A} \times \vec{C}$,再结合向量三重积公式 $\vec{A} \times (\vec{A} \times \vec{B}) = (\vec{A} \cdot \vec{B})\vec{A} - (\vec{A} \cdot \vec{A})\vec{B}$,代入 $\vec{B} = \vec{B}_{parr} + \vec{B}_p$ 且 $\vec{A} \cdot \vec{B}_p = 0$ 的性质,最终可以推导出 $\vec{B}_p = \frac{\vec{A} \times \vec{C}}{-|\vec{A}|^2}$(这里要注意$\vec{A}$不能是零向量,否则原等式本身就没有意义)。
备注:内容来源于stack exchange,提问作者David Graham

