A = [ a , b , c ]
det(A)=( a X b )* c
我在 Real Timer Rendering 中遇到过这个问题,我无法弄清楚为什么会这样,或者它是否有用。这似乎与使用确定的计算交叉积的捷径方法有关,其中你在矩阵的顶部写单位向量,但我一直认为这更像是一个助记符而不是实际上是合理的数学。
这里有真正的关系,还是这只是一种快乐的巧合?
答案 0 :(得分:2)
完全没有巧合;这是一个相当标准的结果。注意,交叉乘积a X b通常以行列式形式写入,其中顶行是单位向量i j k,下一行是a1 a2 a3,下行是b1 b2 b3。
|i j k|
|a1 a2 a3|
|b1 b2 b3|
现在用另一个向量c获取它的dotproduct,你得到的东西就像你刚刚在顶行写的那样。
|i j k| |c1 c2 c3| |c1 c2 c3| |a1 a2 a3|
|a1 a2 a3| . (c1,c2,c3) = |a1 a2 a3| = -|a1 a2 a3| = |b1 b2 b3|
|b1 b2 b3| |b1 b2 b3| |b1 b2 b3| |c1 c2 c3|
编辑:同样wikipedia page for scalar triple product表示它使用向量作为行或列等于矩阵的行列式。 Q.E.D。
答案 1 :(得分:2)
直到符号,n×n矩阵的行列式是由其n维行(或列)向量(或单位立方体的体积)跨越的平行六面体的体积 由该矩阵线性转换)。 (axb).c产品在三个维度上完全相同; axb给出垂直于a和b的向量,长度等于a和b跨越的平行四边形的面积; (axb).c给出平行四边形上c的高度,乘以其面积。所以,不,这不是巧合。