向量叉积

在数学和向量代数领域,向量叉积(英语:Cross product)又称向量积(英语:Vector product),是对三维空间中的两个向量的二元运算,使用符号×\times。与点积不同,它的运算结果是向量。对于线性无关的两个向量 a\mathbf {a}b\mathbf {b} ,它们的叉积写作 a×b{\displaystyle \mathbf {a} \times \mathbf {b} },是 a\mathbf {a}b\mathbf {b} 所在平面的法线向量,与a\mathbf {a}b\mathbf {b} 都垂直。叉积被广泛运用于数学、物理、工程学、计算机科学领域。

如果两个向量方向相同或相反(即它们非线性无关),亦或任意一个的长度为零,那么它们的叉积为零。推广开来,叉积的模长和以这两个向量为边的平行四边形的面积相等;如果两个向量成直角,它们叉积的模长即为两者长度的乘积。

叉积和点积一样依赖于欧几里德空间的度量,但与点积之不同的是,叉积还依赖于定向或右手定则。

向量叉积的定义

使用右手定则确定叉积的方向
两个向量 a\mathbf {a}b\mathbf {b} 的叉积仅在三维空间中有定义,写作 a×b{\displaystyle \mathbf {a} \times \mathbf {b} }。在物理学中,叉积有时也被写成ab{\displaystyle \mathbf {a} \wedge \mathbf {b} },但在数学中 ab{\displaystyle \mathbf {a} \wedge \mathbf {b} } 是外代数中的外积。

叉积 a×b{\displaystyle \mathbf {a} \times \mathbf {b} } 是与 a\mathbf {a}b\mathbf {b} 都垂直的向量c\mathbf {c} 。其方向由右手定则决定,模长等于以两个向量为边的平行四边形的面积。

叉积可以定义为:

a×b=absin(θ) n{\displaystyle \mathbf {a} \times \mathbf {b} =|\mathbf {a} ||\mathbf {b} |\sin(\theta )\ \mathbf {n} }
其中 θ\theta 表示 a\mathbf {a}b\mathbf {b} 在它们所定义的平面上的夹角0θ180({\displaystyle 0^{\circ }\leq \theta \leq 180^{\circ }})a{\displaystyle |\mathbf {a} |}b{\displaystyle |\mathbf {b} |} 是向量a\mathbf {a}b\mathbf {b} 的模长,而 n\mathbf{n} 则是一个与 a\mathbf {a}b\mathbf {b} 所构成的平面垂直的单位向量,方向由右手定则决定。根据上述公式,当 a\mathbf {a}b\mathbf {b} 平行(即 θ\theta 为 0° 或 180°)时,它们的叉积为零向量 0\mathbf{0}

叉积a × b(垂直方向、紫色)随着向量 a(蓝色)和 b(红色)的夹角变化。 叉积垂直于两个向量,模长在两者平行时为零、在两者垂直时达到最大值‖a‖‖b‖。
按照惯例,向量 n\mathbf{n} 的方向由右手定则决定:将右手食指指向 a\mathbf {a} 的方向、中指指向 b\mathbf {b} 的方向,则此时拇指的方向即为 n\mathbf{n} 的方向。使用这一定则意味着叉积满足反交换律,a×b=(b×a){\displaystyle \mathbf {a} \times \mathbf {b} =-(\mathbf {b} \times \mathbf {a} )}:将右手食指指向b\mathbf {b} 、中指指向 a\mathbf {a} ,那么拇指就必定指向相反方向,即翻转了叉积的符号。

由此可以看出,使用叉积需要考虑坐标系的利手性(英语:Handedness),如果使用的是左手坐标系,向量n\mathbf{n} 的方向需要使用左手定则决定,与右手坐标系中的方向相反。

这样就会带来一个问题:参照系的变换不应该影响 n\mathbf{n} 的方向(例如从右手坐标系到左手坐标系的镜像变换)。因此,两个向量的叉积并不是(真)向量,而是伪向量。

向量叉积的计算

向量叉积的坐标表示

基向量ijk,也记作e1e2e3(i、j、k,也记作 e1、e2、e3)和向量 a 的分解axayaz,也记作a1a2a3)(ax、ay、az,也记作 a1、a2、a3)
右手坐标系中,基向量i{\mathbf {i}}j\mathbf{j}k\mathbf{k} 满足以下等式:

i×j=kj×k=ik×i=j{\displaystyle {\begin{aligned}\mathbf {i} \times \mathbf {j} &=\mathbf {k} \\ \mathbf {j} \times \mathbf {k} &=\mathbf {i} \\ \mathbf {k} \times \mathbf {i} &=\mathbf {j} \end{aligned}}}
根据反交换律可以得出:

j×i=kk×j=ii×k=j{\displaystyle {\begin{aligned}\mathbf {j\times i} &=-\mathbf {k} \\ \mathbf {k\times j} &=-\mathbf {i} \\ \mathbf {i\times k} &=-\mathbf {j} \end{aligned}}}
根据叉积的定义可以得出:
i×i=j×j=k×k=0{\displaystyle \mathbf {i} \times \mathbf {i} =\mathbf {j} \times \mathbf {j} =\mathbf {k} \times \mathbf {k} =\mathbf {0} }(零向量)。
根据以上等式,结合叉积的分配律和线性关系,就可以确定任意向量的叉积。

向量 u\mathbf{u}v\mathbf {v} 可以定义为平行于基向量的三个正交元素之和:

u=u1i+u2j+u3kv=v1i+v2j+v3k{\displaystyle {\begin{aligned}\mathbf {u} &=u_{1}\mathbf {i} +u_{2}\mathbf {j} +u_{3}\mathbf {k} \\ \mathbf {v} &=v_{1}\mathbf {i} +v_{2}\mathbf {j} +v_{3}\mathbf {k} \end{aligned}}}
两者的叉积 u×v{\displaystyle \mathbf {u} \times \mathbf {v} } 可以根据分配律展开:

u×v=(u1i+u2j+u3k)×(v1i+v2j+v3k)=u1v1(i×i)+u1v2(i×j)+u1v3(i×k)+u2v1(j×i)+u2v2(j×j)+u2v3(j×k)+u3v1(k×i)+u3v2(k×j)+u3v3(k×k){\displaystyle {\begin{aligned} \mathbf {u} \times \mathbf {v} =(u_{1}\mathbf {i} +u_{2}\mathbf {j} +u_{3}\mathbf {k} )\times (v_{1}\mathbf {i} +v_{2}\mathbf {j} +v_{3}\mathbf {k} )\\ =u_{1}v_{1}(\mathbf {i} \times \mathbf {i} )+u_{1}v_{2}(\mathbf {i} \times \mathbf {j} )+u_{1}v_{3}(\mathbf {i} \times \mathbf {k} )+\\ u_{2}v_{1}(\mathbf {j} \times \mathbf {i} )+u_{2}v_{2}(\mathbf {j} \times \mathbf {j} )+u_{2}v_{3}(\mathbf {j} \times \mathbf {k} )+\\ u_{3}v_{1}(\mathbf {k} \times \mathbf {i} )+u_{3}v_{2}(\mathbf {k} \times \mathbf {j} )+u_{3}v_{3}(\mathbf {k} \times \mathbf {k} ) \end{aligned}}}
即把 u×v{\displaystyle \mathbf {u} \times \mathbf {v} } 分解为九个仅涉及 i{\mathbf {i}}j\mathbf{j}k\mathbf{k} 的简单叉积之和。九个叉积各自所涉及的向量,要么相互平行、要么相互正交。将最前面所述的几个等式带入其中,然后合并同类项,可以得到:
u×v=u1v10+u1v2ku1v3ju2v1ku2v20+u2v3i+u3v1ju3v2iu3v30=(u2v3u3v2)i+(u3v1u1v3)j+(u1v2u2v1)k{\displaystyle {\begin{aligned} \mathbf {u} \times \mathbf {v} =\\ -u_{1}v_{1}\mathbf {0} +u_{1}v_{2}\mathbf {k} -u_{1}v_{3}\mathbf {j} \\ -u_{2}v_{1}\mathbf {k} -u_{2}v_{2}\mathbf {0} +u_{2}v_{3}\mathbf {i} \\ +u_{3}v_{1}\mathbf {j} -u_{3}v_{2}\mathbf {i} -u_{3}v_{3}\mathbf {0} \\ =(u_{2}v_{3}-u_{3}v_{2})\mathbf {i} +(u_{3}v_{1}-u_{1}v_{3})\mathbf {j} +(u_{1}v_{2}-u_{2}v_{1})\mathbf {k} \end{aligned}}}
即结果向量 s=s1i+s2j+s3k=u×v{\displaystyle \mathbf {s} =s_{1}\mathbf {i} +s_{2}\mathbf {j} +s_{3}\mathbf {k} =\mathbf {u} \times \mathbf {v} }的三个标量元素为:

s1=u2v3u3v2s2=u3v1u1v3s3=u1v2u2v1{\displaystyle {\begin{aligned}s_{1}&=u_{2}v_{3}-u_{3}v_{2}\\ s_{2}&=u_{3}v_{1}-u_{1}v_{3}\\ s_{3}&=u_{1}v_{2}-u_{2}v_{1}\end{aligned}}}
也可以记作列向量的形式:
(s1s2s3)=(u2v3u3v2u3v1u1v3u1v2u2v1){\displaystyle {\begin{pmatrix}s_{1}\\s_{2}\\s_{3}\end{pmatrix}}={\begin{pmatrix}u_{2}v_{3}-u_{3}v_{2}\\u_{3}v_{1}-u_{1}v_{3}\\u_{1}v_{2}-u_{2}v_{1}\end{pmatrix}}}

向量叉积的矩阵表示

根据萨吕法则确定 u 和 v 的叉积
叉积可以表达为这样的行列式:

u×v=ijku1u2u3v1v2v3{\displaystyle \mathbf {u\times v} ={\begin{vmatrix}\mathbf {i} &\mathbf {j} &\mathbf {k} \\ u_{1}&u_{2}&u_{3}\\ v_{1}&v_{2}&v_{3} \end{vmatrix}}}
这个行列式可以使用萨吕法则或拉普拉斯展开计算。使用萨吕法则可以展开为:
u×v=(u2v3i+u3v1j+u1v2k)(u3v2i+u1v3j+u2v1k)=(u2v3u3v2)i+(u3v1u1v3)j+(u1v2u2v1)k{\displaystyle {\begin{aligned}\mathbf {u\times v} =\\ (u_{2}v_{3}\mathbf {i} +u_{3}v_{1}\mathbf {j} +u_{1}v_{2}\mathbf {k} )-(u_{3}v_{2}\mathbf {i} +u_{1}v_{3}\mathbf {j} +u_{2}v_{1}\mathbf {k} )=\\ (u_{2}v_{3}-u_{3}v_{2})\mathbf {i} +(u_{3}v_{1}-u_{1}v_{3})\mathbf {j} +(u_{1}v_{2}-u_{2}v_{1})\mathbf {k} \end{aligned}}}
使用拉普拉斯展开可以沿第一行展开为:
u×v=u2u3v2v3iu1u3v1v3j+u1u2v1v2k=(u2v3u3v2)i(u1v3u3v1)j+(u1v2u2v1)k{\displaystyle {\begin{aligned}\mathbf {u\times v} ={\begin{vmatrix}u_{2}&u_{3}\\v_{2}&v_{3}\end{vmatrix}}\mathbf {i} -{\begin{vmatrix}u_{1}&u_{3}\\v_{1}&v_{3}\end{vmatrix}}\mathbf {j} +{\begin{vmatrix}u_{1}&u_{2}\\v_{1}&v_{2}\end{vmatrix}}\mathbf {k} =\\ (u_{2}v_{3}-u_{3}v_{2})\mathbf {i} -(u_{1}v_{3}-u_{3}v_{1})\mathbf {j} +(u_{1}v_{2}-u_{2}v_{1})\mathbf {k} \end{aligned}}}
都可以直接得到结果向量。

向量叉积的性质

向量叉积的代数性质

对于任意三个向量 a\mathbf {a}b\mathbf {b}c\mathbf {c}
a×a=0{\displaystyle \mathbf {a} \times \mathbf {a} =\mathbf {0} }
a×0=0{\displaystyle \mathbf {a} \times \mathbf {0} =\mathbf {0} }
a×b=(b×a){\displaystyle \mathbf {a} \times \mathbf {b} =-(\mathbf {b} \times \mathbf {a} )}(反交换律)
a×(b+c)=a×b+a×c{\displaystyle \mathbf {a} \times (\mathbf {b} +\mathbf {c} )=\mathbf {a} \times \mathbf {b} +\mathbf {a} \times \mathbf {c} }(加法的左分配律)
(a+b)×c=a×c+b×c{\displaystyle (\mathbf {a} +\mathbf {b} )\times \mathbf {c} =\mathbf {a} \times \mathbf {c} +\mathbf {b} \times \mathbf {c} }(加法的右分配律)
(λa)×b=λ(a×b)=a×(λb){\displaystyle (\lambda \mathbf {a} )\times \mathbf {b} =\lambda (\mathbf {a} \times \mathbf {b} )=\mathbf {a} \times (\lambda \mathbf {b} )}
a×b+c×d=(ac)×(bd)+a×d+c×b{\displaystyle \mathbf {a} \times \mathbf {b} +\mathbf {c} \times \mathbf {d} =(\mathbf {a} -\mathbf {c} )\times (\mathbf {b} -\mathbf {d} )+\mathbf {a} \times \mathbf {d} +\mathbf {c} \times \mathbf {b} }
a×b=b×a{\displaystyle |\mathbf {a} \times \mathbf {b} |=|\mathbf {b} \times \mathbf {a} |}
a×b2=a2b2(ab)2=aaababbb{\displaystyle |\mathbf {a} \times \mathbf {b} |^{2}=|\mathbf {a} |^{2}|\mathbf {b} |^{2}-(\mathbf {a} \cdot \mathbf {b} )^{2}={\begin{vmatrix}\mathbf {a} \cdot \mathbf {a} &\mathbf {a} \cdot \mathbf {b} \\ \mathbf {a} \cdot \mathbf {b} &\mathbf {b} \cdot \mathbf {b} \end{vmatrix}}}(拉格朗日恒等式)
一般来说,向量叉积不遵守约简律,即 a×b=a×c{\displaystyle \mathbf {a} \times \mathbf {b} =\mathbf {a} \times \mathbf {c} } 不表示 b=c{\displaystyle \mathbf {b} =\mathbf {c} }。此外,a×b=0{\displaystyle \mathbf {a} \times \mathbf {b} =\mathbf {0} } 不表示 a=0{\displaystyle \mathbf {a} =\mathbf {0} }b=0{\displaystyle \mathbf {b} =\mathbf {0} }

但对于两个非零向量 a\mathbf {a}b\mathbf {b}

  • $${\displaystyle \mathbf {a} \times \mathbf {b} =\mathbf {0} } $$当且仅当 $$\mathbf {a}$$ 平行于 $$\mathbf {b}$$

向量叉积的几何意义

如果以向量a\mathbf {a}b\mathbf {b} 为边构成一个平行四边形,那么这两个向量叉积的模长与这个平行四边形的正面积相等(如图1):
向量叉积
图1:平行四边形面积即叉积的模长

a×b=absinθ.{\displaystyle \left|\mathbf {a} \times \mathbf {b} \right|=\left|\mathbf {a} \right|\left|\mathbf {b} \right|\sin \theta .}
同时,如果以向量a\mathbf {a}b\mathbf {b}c\mathbf {c}为棱构成一个平行六面体,那么这个平行六面体的体积V{\mathbf {V}} 也可以通过叉积和点积的组合得到,这种积称作标量三重积(如图2):
向量叉积
图2:三个向量定义平行六面体

a(b×c)=b(c×a)=c(a×b).{\displaystyle \mathbf {a} \cdot (\mathbf {b} \times \mathbf {c} )=\mathbf {b} \cdot (\mathbf {c} \times \mathbf {a} )=\mathbf {c} \cdot (\mathbf {a} \times \mathbf {b} ).}
因为标量三重积可能为负,平行六面体的体积需要取其绝对值:

V=a(b×c){\displaystyle V=|\mathbf {a} \cdot (\mathbf {b} \times \mathbf {c} )|}
因为叉积的模长与其参数夹角的正弦有关,可以认为叉积是“垂直度”的度量,正如点积是“平行度”的度量一样。对于任意两个单位向量,叉积为1意味着它们互相垂直,叉积为0意味着它们互相平行。点积则相反:点积为0意味着它们互相垂直。

单位向量还能带来两个特性:两个单位向量的点积是它们夹角的余弦(可正可负);它们叉积的模长则为夹角的正弦(始终为正)。

向量微分

对于实数 {\displaystyle t}t 和两个向量值函数 a(t){\displaystyle \mathbf {a} (t)}b(t){\displaystyle \mathbf {b} (t)},乘积法则成立:

ddt(a×b)=dadt×b+a×dbdt{\displaystyle {\frac {d}{dt}}(\mathbf {a} \times \mathbf {b} )={\frac {d\mathbf {a} }{dt}}\times \mathbf {b} +\mathbf {a} \times {\frac {d\mathbf {b} }{dt}}}

三维坐标

给定直角坐标系的单位向量i\mathbf {i}j\mathbf{j}k\mathbf{k}满足下列等式:

i×j=k{\displaystyle \mathbf {i} \times \mathbf {j} =\mathbf {k} }
j×k=i{\displaystyle \mathbf {j} \times \mathbf {k} =\mathbf {i} }
k×i=j{\displaystyle \mathbf {k} \times \mathbf {i} =\mathbf {j} }
通过这些规则,两个向量的叉积的坐标可以方便地计算出来,不需要考虑任何角度:设

a=a1i+a2j+a3k{\displaystyle \mathbf {a} =a_{1}\mathbf {i} +a_{2}\mathbf {j} +a_{3}\mathbf {k} }
b=b1i+b2j+b3k{\displaystyle \mathbf {b} =b_{1}\mathbf {i} +b_{2}\mathbf {j} +b_{3}\mathbf {k} }

a×b=(a2b3a3b2)i+(a3b1a1b3)j+(a1b2a2b1)k=ijka1a2a3b1b2b3{\displaystyle {\begin{aligned}\mathbf {a} \times \mathbf {b} = (a_{2}b_{3}-a_{3}b_{2})\mathbf {i} +(a_{3}b_{1}-a_{1}b_{3})\mathbf {j} +(a_{1}b_{2}-a_{2}b_{1})\mathbf {k} =\\ {\begin{vmatrix}\mathbf {i} &\mathbf {j} &\mathbf {k} \\ a_{1}&a_{2}&a_{3}\\ b_{1}&b_{2}&b_{3} \end{vmatrix}} \end{aligned}}}
叉积也可以用四元数来表示。注意到上述 i{\mathbf {i}}j\mathbf{j}k\mathbf{k} 之间的叉积满足四元数的乘法。一般而言,若将向量[a1,a2,a3][a_1, a_2, a_3]表示成四元数a1i+a2j+a3ka_1i + a_2j + a_3k,两个向量的叉积可以这样计算:计算两个四元数的乘积得到一个四元数,并将这个四元数的实部去掉,即为结果。更多关于四元数乘法,向量运算及其几何意义请参见四元数与空间旋转。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册