叉乘只在三维中有定义,两个向量的叉乘可以产生一个与这两个向量都垂直的新向量。例如计算一个物体表面的法向量

叉乘定义

其中表示向量和向量之间的夹角,而 则是一个与、所构成的平面垂直的单位向量,方向由右手定则决定 (https://zh.wikipedia.org/wiki/%E5%8F%89%E7%A7%AF)

模长计算

模长等于以两个向量为边的平行四边形的面积

叉乘计算

Part1 叉乘计算规则:如果两个向量一样,叉乘结果为 通过引入单位向量,向量就可以转化成代数形式,例如

是三个相互垂直的向量。它们刚好可以构成一个坐标系。这三个向量就是

Part2

分别为两三维向量,叉乘为

也可以写成伪行列式的形式equation_and_determinant

Part3 先以二维为例,假设有一个向量然后我们引入反对称矩阵

然后计算

得结果为

由叉乘的规则我们有

其中表示某个叉乘矩阵,然后作用到了得结果为,通过对比,我们可以发现,就是向量a的叉乘矩阵,当为列向量时,为a向量的叉乘矩阵,如果向量为三维向量,那么H为

最后将变换合并起来就是

则最终有

Part4 根据内积和外积的定义 dot_product

假设有两个不共线的向量,分别为,我们设我们要找的垂直于这两个向量的向量为,那么我们则有如下方程

There is a footnote here 1

(这里可以看做向量和分别与要求向量的点乘,如果垂直点乘结果为) 令式子中的,则我们有

因为我们的方程组的秩小于未知数的个数,这里不妨设然后再求解) 然后解二元一次方程,另得

与

因此所求向量为

改变一下形式我们有

这个形式与之前的形式相差了一个号,还有另外一种解法使用所得的结果的形式与之前的形式相同

补充(https://github.com/Krasjet/quaternion/blob/master/quaternion.pdf)

  • 叉乘的定义在历史顺序上来说是从Graßmann积中导出

Footnotes

  1. For math render, use \begin{cases} instead of \left { that doesn’t supported. Or use \left ( with end of \right. ↩