两个向量所在平面的法线,外积,叉积,行列式

偶尔在一个数学题里面看到求两向量所在平面的法线,常规方法可以通过法线与两向量垂直这一特点,列两个方程求解;另外一种方法可以通过求解两个向量的叉积,用矩阵行列式 (determinant) 的方式,之前还没见过,在这篇博客里记录下。

两个向量的叉积(cross product),又称作外积,表达式为:

a × b = ∥ a ∥ ∥ b ∥ sin ⁡ θ \mathbf{a}\times\mathbf{b}=\|a\|\|b\|\sin\theta a×b=∥a∥∥b∥sinθ

它的几何意义就是这两个向量所在平面的法线,其中 θ \theta θ 为两向量的夹角,法线的长度为这两个向量形成的平行四边形的面积。(两个向量点积的表达式为: a ⋅ b = ∥ a ∥ ∥ b ∥ cos ⁡ θ \mathbf{a}\cdot\mathbf{b}=\|a\|\|b\|\cos\theta a⋅b=∥a∥∥b∥cosθ )

  • 叉积本质上是一个几何运算,用来构造一个垂直于两个给定向量的向量,并且其长度为两个向量所构成的平行四边形的面积

    向量叉积的方向根据右手定则确定。

具体在求解上,求解矩阵行列式非常方便,假如为三维向量,
a × b = ∣ i j k a 1 a 2 a 3 b 1 b 2 b 3 ∣ = ( a 2 b 3 − a 3 b 2 ) i + ( a 3 b 1 − a 1 b 3 ) k + ( a 1 b 2 − a 2 b 1 ) k \mathbf{a}\times\mathbf{b}= \begin{vmatrix} i&j&k\\ a_1&a_2&a_3\\ b_1&b_2&b_3\\ \end{vmatrix}=(a_2b_3-a_3b_2)i+(a_3b_1-a_1b_3)k+(a_1b_2-a_2b_1)k a×b= ia1b1ja2b2ka3b3 =(a2b3−a3b2)i+(a3b1−a1b3)k+(a1b2−a2b1)k

其中, i , j , k i,j,k i,j,k 为叉积所在坐标系各个坐标轴的单位向量。因此,根据上面的计算,叉积向量可以表示为:

( a 2 b 3 − a 3 b 2 , a 3 b 1 − a 1 b 3 , a 1 b 2 − a 2 b 1 ) \big(a_2b_3-a_3b_2,~~ a_3b_1-a_1b_3, ~~a_1b_2-a_2b_1\big) (a2b3−a3b2, a3b1−a1b3, a1b2−a2b1)

为什么可以这样求?这跟叉积,点积以及行列式,余子式的几何意义有关。(其实有点复杂)

  • 三个向量行列式的几何意义是这三个向量形成的平行六面体的体积,
  • 两个向量行列式的几何意义是这两个向量形成的平行四边形的面积
  • 计算行列式的展开就是把整个三维体积拆解为不同的二维平行四边形的面积和相应方向上的高度的加权和

∣ i j k a 1 a 2 a 3 b 1 b 2 b 3 ∣ = ∣ a 2 a 3 b 2 b 3 ∣ i + ∣ a 1 a 3 b 1 b 3 ∣ j + ∣ a 1 a 2 b 1 b 2 ∣ k (1) \begin{vmatrix} i&j&k\\ a_1&a_2&a_3\\ b_1&b_2&b_3\\ \end{vmatrix}=\begin{vmatrix}a_2&a_3\\b_2&b_3\end{vmatrix}i+\begin{vmatrix}a_1&a_3\\b_1&b_3\end{vmatrix}j+\begin{vmatrix}a_1&a_2\\b_1&b_2\end{vmatrix}k\tag{1} ia1b1ja2b2ka3b3 = a2b2a3b3 i+ a1b1a3b3 j+ a1b1a2b2 k(1)

  • 三个向量组成的平行多面体有一个体积公式
    V = ∣ c ⋅ ( a × b ) ∣ V=|\mathbf{c}\cdot(\mathbf{a}\times \mathbf{b})| V=∣c⋅(a×b)∣

将向量 c \mathbf{c} c 看成 ( i , j , k ) (i,j,k) (i,j,k),

而叉积向量 a × b \mathbf{a}\times \mathbf{b} a×b 看成 ( ∣ a 2 a 3 b 2 b 3 ∣ , ∣ a 1 a 3 b 1 b 3 ∣ , ∣ a 1 a 2 b 1 b 2 ∣ ) (\begin{vmatrix}a_2&a_3\\b_2&b_3\end{vmatrix},~~\begin{vmatrix}a_1&a_3\\b_1&b_3\end{vmatrix},~~\begin{vmatrix}a_1&a_2\\b_1&b_2\end{vmatrix}) ( a2b2a3b3 , a1b1a3b3 , a1b1a2b2 ), 可以得到公式 (1),因此可以使用行列式来计算叉积!

相关推荐
闲暇部落8 天前
Android OpenGL ES详解——几何着色器
opengl·法线·法向量·几何着色器
梦茹^_^21 天前
线性代数【考研准备 基于教材 期末复习亦可用】第一章行列式
笔记·线性代数·考研·行列式·lapace定理·cramer·基础定义
Beginner x_u3 个月前
线性代数 第一讲 行列式_行列式定义_性质_计算_题型总结
线性代数·行列式
Js.Tx3 个月前
【具体数学 Concrete Mathematics】1.1 递归问题 讲义
线性代数·行列式·具体数学·递归问题·计算机理论
脑子不好真君5 个月前
行列式和矩阵的区别
矩阵·行列式·区别
xiangshangdemayi5 个月前
从二元一次方程组到二阶行列式再到克拉默法则
行列式·方程·二元一次·二阶·克拉默法则
是嘟嘟啊8 个月前
【Unity】程序创建Mesh(二)MeshRenderer、光照、Probes探针、UV信息、法线信息
unity·uv·探针·光照·法线·meshrenderer·网格渲染
松下J271 年前
线性代数 --- 为什么LU分解中L矩阵的行列式一定等于正负1?
线性代数·矩阵·行列式·lu分解·矩阵的行列式
zhanglongfei_zkfr1 年前
行列式某一行(列)的元素都是两数之和,则行列式可以拆成如下两个行列式
线性代数·行列式