向量叉积定义的证明

前面写了一篇向量点积定义的证明,由于这个证明比较简单,所以也没有引起深入的思考。后来打算写一篇叉积的证明时,却发现有些东西真的不好理解。

设两个向量a=(x1,y1,z1),b=(x2,y2,z2)a=(x1,y1,z1),b=(x2,y2,z2),两向量夹角为θθ,很多教材包括维基百科(Cross Product)等给出的定义都是:

c=a×b=n|a||b|sinθc=a×b=n|a||b|sinθ

其中nn是垂直于向量a,ba,b的单位向量,方向由右手法则确定。这样定义似乎没什么不妥,但是我在考虑一些问题:给出这个定义的数学家,他是怎么发现叉积的结果垂直于两向量?向量的模长为什么恰好等于|a||b|sinθ|a||b|sinθ?下面给出我对这些问题的理解。

我想数学家们刚开始定义向量的叉乘运算(××)时,给出的唯一基本定义是:a×ba×b的结果cc是垂直于向量a,ba,b的一个向量,其方向由右手法则确定;如果向量a,ba,b平行,则叉积结果为零向量。有了这个定义,再根据乘法对加法的分配率,便可得到叉积运算的坐标表达式:

 a×b=(x1i+y1j+z1k)×(x2i+y2j+z2k)= x1i×(x2i+y2j+z2k)+y1j×(x2i+y2j+z2k)+z1k×(x2i+y2j+z2k)= x1x2(i×i)+x1y2(i×j)+x1z2(i×k)+ y1x2(j×i)+y1y2(j×j)+y1z2(j×k)+ z1x2(k×i)+z1y2(k×j)+z1z2(k×k)

其中i,j,k分别表示x、y、z轴方向的单位向量。那么根据向量叉积的定义:i×i=j×j=k×k=0i×j=kj×k=ik×i=jj×i=kk×j=ii×k=j,因此便得到:

a×b=(y1z2z1y2)i+(z1x2x1z2)j+(x1y2y1x2)k=(y1z2z1y2, z1x2x1z2, x1y2y1x2)

下面来证明|c|=|a||b|sinθ

|c|2= (y1z2z1y2)2+(z1x2x1z2)2+(x1y2y1x2)2= y21z22+z21y222y1y2z1z2+z21x22+x21z222x1x2z1z2+ x21y22+y21x222x1x2y1y2

又根据向量点积的定义:

(|a||b|sinθ)2=(|a||b|)2sin2θ=(|a||b|)2(1cos2θ)=(|a||b|)2(1(ab)2(|a||b|)2)=(|a||b|)2(ab)2

因为:

(|a||b|)2= (x21+y21+z21x22+y22+z22)2= (x21+y21+z21)(x22+y22+z22)= x21x22+y21y22+z21z22+x21y22+x21z22+y21x22+y21z22+z21x22+z21y22

而且

(ab)2= (x1x2+y1y2+z1z2)2= x21x22+y21y22+z21z22+2x1x2y1y2+2x1x2z1z2+2y1y2z1z2

容易看出:(|a||b|)2(ab)2=|c|2,即:

|c|=|a||b|sinθ

posted @   俞夕  阅读(5938)  评论(3编辑  收藏  举报
编辑推荐:
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
阅读排行:
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?
点击右上角即可分享
微信分享提示