当前位置:网站首页>Equation Derivation Proof of Vector Triple Product
Equation Derivation Proof of Vector Triple Product
2022-07-30 07:50:00 【sunset stained ramp】
目标:最近在看论文,Some basic formula reasoning is required,Equations for triple products are often encountered.为了更深入的理解.So derive this formula.
定义:
向量三重积
a → × ( b → × c → ) = ( a → ⋅ c → ) ⋅ b → − ( a → ⋅ b → ) ⋅ c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})= (\overrightarrow{a} \cdot \overrightarrow{c}) \cdot\overrightarrow{b} - (\overrightarrow{a} \cdot \overrightarrow{b}) \cdot\overrightarrow{c} a×(b×c)=(a⋅c)⋅b−(a⋅b)⋅c
其中 a → = ( a 0 , a 1 , . . . , a n ) \overrightarrow{a}=(a_0,a_1,...,a_n) a=(a0,a1,...,an); b → = ( b 0 , b 1 , . . . , b n ) \overrightarrow{b}=(b_0,b_1,...,b_n) b=(b0,b1,...,bn); c → = ( c 0 , c 1 , . . . , c n ) \overrightarrow{c}=(c_0,c_1,...,c_n) c=(c0,c1,...,cn)
General in space vector n = 3 n=3 n=3
证明,It can be proved in two ways
第一种是最简单的方式,Expand the left and right items directly.
In general, the cross product can be converted to the product of a matrix and a vector.The transformation is shown below
S k e w ( a ) = [ 0 − a 2 a 1 a 2 0 − a 0 − a 1 a 0 0 ] Skew(a) = \begin{bmatrix} 0 \space \space -a_2 \space \space a_1 \\ a_2 \space \space 0 \space \space -a_0 \\ -a_1 \space \space a_0 \space \space 0 \end{bmatrix} Skew(a)=⎣⎡0 −a2 a1a2 0 −a0−a1 a0 0⎦⎤
So the formula on the left is :
a → × ( b → × c → ) = s k e w ( a → ) ( s k e w ( b → ) c → ) = [ 0 − a 2 a 1 a 2 0 − a 0 − a 1 a 0 0 ] [ 0 − b 2 b 1 b 2 0 − b 0 − b 1 b 0 0 ] [ c 0 c 1 c 2 ] = [ 0 − a 2 a 1 a 2 0 − a 0 − a 1 a 0 0 ] [ b 1 c 2 − b 2 c 1 b 2 c 0 − b 0 c 2 b 0 c 1 − b 1 c 0 ] = [ − a 2 ( b 2 c 0 − b 0 c 2 ) + a 1 ( b 0 c 1 − b 1 c 0 ) a 2 ( b 1 c 2 − b 2 c 1 ) − a 0 ( b 0 c 1 − b 1 c 0 ) − a 1 ( b 1 c 2 − b 2 c 1 ) + a 0 ( b 2 c 0 − b 0 c 2 ) ] = [ ( a 1 c 1 + a 2 c 2 ) b 0 − ( a 1 b 1 + a 2 b 2 ) c 0 ( a 0 c 0 + a 2 c 2 ) b 1 − ( a 0 b 0 + a 2 b 2 ) c 1 ( a 0 c 0 + a 1 c 1 ) b 2 − ( a 0 b 0 + a 1 b 1 ) c 2 ] = [ ( a 0 c 0 + a 1 c 1 + a 2 c 2 ) b 0 − ( a 0 b 0 + a 1 b 1 + a 2 b 2 ) c 0 ( a 0 c 0 + a 1 c 1 + a 2 c 2 ) b 1 − ( a 0 b 0 + a 1 b 1 + a 2 b 2 ) c 1 ( a 0 c 0 + a 1 c 1 + a 2 c 2 ) b 2 − ( a 0 b 0 + a 1 b 1 + a 2 b 2 ) c 2 ] = ( a → ⋅ c → ) ⋅ b → − ( a → ⋅ b → ) ⋅ c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c}) \\ =skew(\overrightarrow{a})(skew(\overrightarrow{b})\overrightarrow{c}) \\ = \begin{bmatrix} 0 \space \space -a_2 \space \space a_1 \\ a_2 \space \space 0 \space \space -a_0 \\ -a_1 \space \space a_0 \space \space 0 \end{bmatrix} \begin{bmatrix} 0 \space \space -b_2 \space \space b_1 \\ b_2 \space \space 0 \space \space -b_0 \\ -b_1 \space \space b_0 \space \space 0 \end{bmatrix} \begin{bmatrix} c_0 \\ c_1 \\ c_2 \end{bmatrix} =\begin{bmatrix} 0 \space \space -a_2 \space \space a_1 \\ a_2 \space \space 0 \space \space -a_0 \\ -a_1 \space \space a_0 \space \space 0 \end{bmatrix} \begin{bmatrix} b_1c_2-b_2c_1 \\ b_2c_0-b_0c_2 \\ b_0c_1-b_1c_0 \end{bmatrix} \\ \\ =\begin{bmatrix} -a_2(b_2c_0-b_0c_2) + a_1(b_0c_1-b_1c_0) \\ a_2(b_1c_2-b_2c_1) - a_0(b_0c_1-b_1c_0) \\ -a_1(b_1c_2-b_2c_1) + a_0(b_2c_0-b_0c_2) \end{bmatrix} = \begin{bmatrix} (a_1c_1+a_2c_2)b_0 - (a_1b_1+a_2b_2)c_0 \\ (a_0c_0+a_2c_2)b_1 - (a_0b_0+a_2b_2)c_1 \\ (a_0c_0+a_1c_1)b_2 - (a_0b_0+a_1b_1)c_2 \end{bmatrix} \\ = \begin{bmatrix} (a_0c_0+a_1c_1+a_2c_2)b_0 - (a_0b_0+a_1b_1+a_2b_2)c_0 \\ (a_0c_0+a_1c_1+a_2c_2)b_1 - (a_0b_0+a_1b_1+a_2b_2)c_1 \\ (a_0c_0+a_1c_1+a_2c_2)b_2 - (a_0b_0+a_1b_1+a_2b_2)c_2 \end{bmatrix} = (\overrightarrow{a} \cdot \overrightarrow{c}) \cdot\overrightarrow{b} - (\overrightarrow{a} \cdot \overrightarrow{b}) \cdot\overrightarrow{c} a×(b×c)=skew(a)(skew(b)c)=⎣⎡0 −a2 a1a2 0 −a0−a1 a0 0⎦⎤⎣⎡0 −b2 b1b2 0 −b0−b1 b0 0⎦⎤⎣⎡c0c1c2⎦⎤=⎣⎡0 −a2 a1a2 0 −a0−a1 a0 0⎦⎤⎣⎡b1c2−b2c1b2c0−b0c2b0c1−b1c0⎦⎤=⎣⎡−a2(b2c0−b0c2)+a1(b0c1−b1c0)a2(b1c2−b2c1)−a0(b0c1−b1c0)−a1(b1c2−b2c1)+a0(b2c0−b0c2)⎦⎤=⎣⎡(a1c1+a2c2)b0−(a1b1+a2b2)c0(a0c0+a2c2)b1−(a0b0+a2b2)c1(a0c0+a1c1)b2−(a0b0+a1b1)c2⎦⎤=⎣⎡(a0c0+a1c1+a2c2)b0−(a0b0+a1b1+a2b2)c0(a0c0+a1c1+a2c2)b1−(a0b0+a1b1+a2b2)c1(a0c0+a1c1+a2c2)b2−(a0b0+a1b1+a2b2)c2⎦⎤=(a⋅c)⋅b−(a⋅b)⋅c
证明完毕.
第二种方法: in a geometrically meaningful way.It has the heuristic kind.It is recommended to use this method to prove the equation for the triple product above.
To make it easier for everyone to understand,画出图像,得到下图

Because of the cross product,is the vertical vector of the two vectors.比如 b → × c → \overrightarrow{b} \times \overrightarrow{c} b×c,it is perpendicular to b → , c → \overrightarrow{b},\overrightarrow{c} b,cThe plane in which the two vectors of .
Arbitrary vectors at the same time a → \overrightarrow{a} a和 b → × c → \overrightarrow{b} \times \overrightarrow{c} b×c叉乘.The resulting vector must be parallel to b → , c → \overrightarrow{b},\overrightarrow{c} b,cThe plane in which the two vectors of .(The red line segment represents).因此可以写成如下:
a → × ( b → × c → ) = m b → + n c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})=m\overrightarrow{b}+n\overrightarrow{c} a×(b×c)=mb+nc
Because the red vector a → × ( b → × c → ) \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c}) a×(b×c)和 a → \overrightarrow{a} a垂直.因此:
a → ⋅ ( a → × ( b → × c → ) ) = 0 = > a → ⋅ ( m b → + n c → ) = 0 = > m ( a → ⋅ b → ) + n ( a → ⋅ c → ) = 0 \overrightarrow{a} \cdot(\overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})) = 0 \\ =>\overrightarrow{a} \cdot(m\overrightarrow{b}+n\overrightarrow{c}) = 0 \\ =>m(\overrightarrow{a} \cdot \overrightarrow{b}) + n(\overrightarrow{a} \cdot \overrightarrow{c})=0 a⋅(a×(b×c))=0=>a⋅(mb+nc)=0=>m(a⋅b)+n(a⋅c)=0
To solve the above formula,We use construction,Construct two numbers such that the above formula holds.构造如下:
存在 p ∈ R p\in R p∈R;且 m = p ( a → ⋅ c → ) m=p(\overrightarrow{a} \cdot \overrightarrow{c}) m=p(a⋅c); n = − p ( a → ⋅ b → ) n=-p(\overrightarrow{a} \cdot \overrightarrow{b}) n=−p(a⋅b),Make the above formula hold constant.为了方便理解,The constructed terms are brought into the formula m ( a → ⋅ b → ) + n ( a → ⋅ c → ) = 0 m(\overrightarrow{a} \cdot \overrightarrow{b}) + n(\overrightarrow{a} \cdot \overrightarrow{c})=0 m(a⋅b)+n(a⋅c)=0
m ( a → ⋅ b → ) + n ( a → ⋅ c → ) = 0 = p ( a → ⋅ c → ) ( a → ⋅ b → ) − p ( a → ⋅ b → ) ( a → ⋅ c → ) = 0 m(\overrightarrow{a} \cdot \overrightarrow{b}) + n(\overrightarrow{a} \cdot \overrightarrow{c})=0 \\ =p(\overrightarrow{a} \cdot \overrightarrow{c})(\overrightarrow{a} \cdot \overrightarrow{b})-p(\overrightarrow{a} \cdot \overrightarrow{b})(\overrightarrow{a} \cdot \overrightarrow{c})=0 m(a⋅b)+n(a⋅c)=0=p(a⋅c)(a⋅b)−p(a⋅b)(a⋅c)=0
The substituted equation can see that the above is a middle identity.
The above equation and vector a → \overrightarrow{a} a, b → \overrightarrow{b} b, c → \overrightarrow{c} c取值无关.
因此将 m = p ( a → ⋅ c → ) m=p(\overrightarrow{a} \cdot \overrightarrow{c}) m=p(a⋅c); n = − p ( a → ⋅ b → ) n=-p(\overrightarrow{a} \cdot \overrightarrow{b}) n=−p(a⋅b),代入到 a → × ( b → × c → ) = m b → + n c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})=m\overrightarrow{b}+n\overrightarrow{c} a×(b×c)=mb+nc,得到如下公式:
a → × ( b → × c → ) = m b → + n c → = p ( a → ⋅ c → ) b → − p ( a → ⋅ b → ) c → \overrightarrow{a} \times (\overrightarrow{b} \times \overrightarrow{c})=m\overrightarrow{b}+n\overrightarrow{c}=p(\overrightarrow{a} \cdot \overrightarrow{c})\overrightarrow{b}-p(\overrightarrow{a} \cdot \overrightarrow{b})\overrightarrow{c} a×(b×c)=mb+nc=p(a⋅c)b−p(a⋅b)c
Because of the above formula and vector a → \overrightarrow{a} a, b → \overrightarrow{b} b, c → \overrightarrow{c} c无关,Simple vectors can be used a → = [ 1 , 1 , 1 ] \overrightarrow{a}=[1,1,1] a=[1,1,1]; b → = [ 0 , 1 , 0 ] \overrightarrow{b}=[0,1,0] b=[0,1,0]; c → = [ 0 , 0 , 1 ] \overrightarrow{c}=[0,0,1] c=[0,0,1]
Bring in the corresponding simple formula,就可以得到 p = 1 p=1 p=1
证明完毕.
参考资料如下:
https://www.youtube.com/watch?v=4U5fkwYDvZg
边栏推荐
猜你喜欢

Rodrigues:旋转矩阵的向量表达

Redis6的数据类型

STL源码剖析:class template explicit specialization代码测试和理解

作为测试leader,考察求职者的几个方面

大厂年薪50w+招聘具有测试平台开发能力的测试工程师

进程和计划任务管理

分布式系统中的开创者—莱斯利·兰伯特

Rodrigues: vector representation of rotation matrices

Distance calculation from space vertex to straight line and its source code

Required request body is missing 问题解决
随机推荐
Distance calculation from space vertex to straight line and its source code
prometheus-federation-tls加密
Test Development Engineer Growth Diary 015 - Top 20 Test Interview Questions
分布式系统中的开创者—莱斯利·兰伯特
Pioneer in Distributed Systems - Leslie Lambert
MongoDB-CUD没有R
Mobile phone side scroll to page to specify location
MySQL common commands and mysqldump backup
prometheus-Federation机制配置
测试开发工程师成长日记003 - 接口自动化框架搭建
Redis6的数据类型
C#的访问修饰符,声明修饰符,关键字有哪些?扫盲篇
The Society of Mind - Marvin Minsky
彻底删除openstack中镜像的记录
The Geometric Meaning of Vector Cross Product and the Calculation of Modulus
prometheus-basic_auth加密配置
LVM和磁盘配额
Selenium02
多线程进阶(CountDownLatch,死锁,线程安全集合类)
不会吧,Log4j 漏洞还没有完全修复?