其实就是算向量叉乘。
而三维向量叉乘可以用三阶行列式,在第一行展开这种方法来算。
基础知识包括,代数余子式,行列式的行展开。随便找本线性代数书看看就懂了。
下面给出具体步骤。
假设要算 \vec a = (x_1, y_1, z_1) ,与 \vec b = (x_2, y_2, z_2) 所构成平面的法向量 \vec n 。那么有
\begin{split} \vec n &= \vec a \times \vec b \cr &=\left|\begin{matrix} i & j & k \cr x_1 & y_1 & z_1\cr x_2 & y_2 & z_2\cr \end{matrix} \right|\cr &=i\left|\begin{matrix} y_1 & z_1\cr y_2 & z_2 \end{matrix}\right|- j\left|\begin{matrix} x_1 & z_1\cr x_2 & z_2 \end{matrix}\right|+k\left|\begin{matrix} x_1 & y_1\cr x_2 & y_2 \end{matrix}\right| \end{split}
其中如 \left|\begin{matrix} x_1 & y_1\cr x_2 & y_2 \end{matrix}\right| 为一个二阶行列式,其值为 x_1y_2 - y_1x_2 ,就是主对角线元素的乘积减副对角线元素的乘积。
然后把
\left\{\begin{split} i = (1, 0, 0)\cr j = (0, 1, 0)\cr k = (0, 0, 1)\cr \end{split}\right.
代入到上面的式子即得 \vec n (也即三个分量分别为一个二阶行列式)。