跳到正文
格致开物MATHWIKI

向量混合积与体积

三个三维向量 u,v,w 从同一点出发,可作一个平行六面体:u,v 张成底面,w 指向上方的顶点。混合积(scalar triple product)(u×v)⋅w 是一个有符号的数;它的绝对值恰是这个立体的体积。

底面积乘垂直高度

底面积为 |u×v|。令单位法向量 n=(u×v)/|u×v|,则 w 在法向方向的有符号高度是 w⋅n。当 u×v≠0 时,体积因而为 V=|u×v||w⋅n|=|(u×v)⋅w|. 若底面退化,u×v=0,体积和右边同为零,公式仍成立。图中斜着的边 w 不一定等于高;高是沿法向的投影。

平行六面体的底面由u和v张成,第三向量w为斜边,虚线为垂直高度
体积取底面积乘虚线高度,不能把斜边长度直接当高度。

一个可逐步核对的例子

延用向量的外积的 u=(1,0,1)、v=(0,2,1),再取 w=(1,1,3)。已算得 u×v=(−2,−1,2),于是 (u×v)⋅w=−2⋅1−1⋅1+2⋅3=3. 底面积为 3;单位法向量是 n=(−2,−1,2)/3,所以 w⋅n=1。底面积乘高 3⋅1=3,与混合积一致。若将 w 改为 −w,几何体积仍为 3,但混合积变为 −3,负号仅记录朝向。

这个有向数允许循环换序:(u×v)⋅w=(v×w)⋅u=(w×u)⋅v,因为三种写法对应行列式列的循环排列。只交换其中两项则改变符号。画图时“同一立体”为何可能给出正负两个数,原因就在所选的列顺序;普通体积始终取绝对值。

三阶行列式与共面条件

把三个向量按列排成矩阵 A=[u v w]。沿第一行展开会得到 det⁡A=u1(v2w3−v3w2)−v1(u2w3−u3w2)+w1(u2v3−u3v2)=(u×v)⋅w. 中间一式也可按三列轮换重排来验证。因此三阶行列式是有向体积。若 det⁡A=0,三向量线性相关,即从同一起点看都落在某个过原点的平面内;反过来,共面时一个向量能由另外两个线性组合表示,混合积为零。若前两个本来共线,也属于这一情形。

若以同一顶点和三条边 u,v,w 构成四面体,其体积是平行六面体的六分之一,故为 |det⁡A|/6。可以先把平行六面体沿一条体对角线分成相同体积的六个四面体;这里的 1/6 不能省掉。继续从行列式看体积缩放,或用克拉默法则把行列式用于求方程组。

在上例中,这个四面体的体积为 3/6=1/2。若改取 w′=u+v=(1,2,2),则 (u×v)⋅w′=−2−2+4=0。这时 w′ 落在 u,v 的底面内,所谓立体压扁成平面,体积为零。若三向量很接近共面但不完全共面,混合积的绝对值就很小;这解释了为什么几乎共面的三元方程在数值计算中容易敏感,但敏感程度还取决于向量的长度与尺度,不能仅看一个未经归一化的行列式数值。

参考资料