zoukankan      html  css  js  c++  java
  • 向量叉积定义的证明

    https://www.cnblogs.com/vive/p/4565282.html

    向量叉积定义的证明

     

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

    设两个向量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)(1)(2)(3)(4)(5)(1)a×b=(x1i+y1j+z1k)×(x2i+y2j+z2k)(2)= x1i×(x2i+y2j+z2k)+y1j×(x2i+y2j+z2k)+z1k×(x2i+y2j+z2k)(3)= x1x2(i×i)+x1y2(i×j)+x1z2(i×k)+(4) y1x2(j×i)+y1y2(j×j)+y1z2(j×k)+(5) z1x2(k×i)+z1y2(k×j)+z1z2(k×k)

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

    a×b=(y1z2z1y2)i+(z1x2x1z2)j+(x1y2y1x2)k=(y1z2z1y2, z1x2x1z2, x1y2y1x2)(6)(7)(6)a×b=(y1z2−z1y2)i+(z1x2−x1z2)j+(x1y2−y1x2)k(7)=(y1z2−z1y2, z1x2−x1z2, x1y2−y1x2)

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

    |c|2== (y1z2z1y2)2+(z1x2x1z2)2+(x1y2y1x2)2 y21z22+z21y222y1y2z1z2+z21x22+x21z222x1x2z1z2+ x21y22+y21x222x1x2y1y2(8)(9)(10)(8)|c|2= (y1z2−z1y2)2+(z1x2−x1z2)2+(x1y2−y1x2)2(9)= y12z22+z12y22−2y1y2z1z2+z12x22+x12z22−2x1x2z1z2+(10) x12y22+y12x22−2x1x2y1y2

    又根据向量点积的定义:

    (|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(11)(12)(13)(14)(11)(|a||b|sin⁡θ)2=(|a||b|)2sin2⁡θ(12)=(|a||b|)2(1−cos2⁡θ)(13)=(|a||b|)2(1−(a⋅b)2(|a||b|)2)(14)=(|a||b|)2−(a⋅b)2

    因为:

    (|a||b|)2=== (x21+y21+z21−−−−−−−−−−√x22+y22+z22−−−−−−−−−−√)2 (x21+y21+z21)(x22+y22+z22) x21x22+y21y22+z21z22+x21y22+x21z22+y21x22+y21z22+z21x22+z21y22(15)(16)(17)(15)(|a||b|)2= (x12+y12+z12x22+y22+z22)2(16)= (x12+y12+z12)(x22+y22+z22)(17)= x12x22+y12y22+z12z22+x12y22+x12z22+y12x22+y12z22+z12x22+z12y22

    而且

    (ab)2== (x1x2+y1y2+z1z2)2 x21x22+y21y22+z21z22+2x1x2y1y2+2x1x2z1z2+2y1y2z1z2(18)(19)(18)(a⋅b)2= (x1x2+y1y2+z1z2)2(19)= x12x22+y12y22+z12z22+2x1x2y1y2+2x1x2z1z2+2y1y2z1z2

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

    |c|=|a||b|sinθ
    delphi lazarus opengl 网页操作自动化, 图像分析破解,游戏开发
  • 相关阅读:
    通配符^与not like 区别
    SQL语句
    身份证的性别验证(摘抄)
    基于VirtualBox虚拟机安装Ubuntu教程
    VMware手动添加centos7硬盘图文操作及分区超详细
    acl权限命令
    linux查看分区是否开启acl权限
    CentOS7上Docker简单安装及nginx部署
    Docker安装ngnix使用ping报错
    centos7安装mysql5.6
  • 原文地址:https://www.cnblogs.com/delphi-xe5/p/9823951.html
Copyright © 2011-2022 走看看