三维向量叉乘推导 . 点击:1818 | 回复:0



研讨会宣传员_3259

    
  • [版主]
  • 精华:3帖
  • 求助:110帖
  • 帖子:1927帖 | 14403回
  • 年度积分:102
  • 历史总积分:64749
  • 注册:2020年3月27日
发表于:2015-06-09 16:59:54
楼主

一直以来,我都记不住向量叉乘的结果,每次都要查询。其根本原因在于,我没有去研究过叉乘是如何推导出来的。于是,这次想彻底解决一下。首先要感谢维基百科,它已经把所有问题都描述清楚了。

 

而下面的文字,只是我的读书笔记,以加深自己的印象。

 

首先我们知道 ,对于向量u和v, u x v的结果,是得到一个既垂直于u又垂直于v的向量,假设记作n.

则有下面公式

n = u x v;

而n的方向,是由右手法则决定的。 即伸出右手,四个手指方向从u绕到v. 此时,大姆指的方向,就是n的方向。 我们通常叫做右向量。

引用一下维基百科的图来说明问题,有兴趣的兄弟可以照图比划一下。 (注:图中向量是用的a x b来表示)

 

 

有了上面的知识,我们继续向下看。

我们假设向量 u,v,n分别用三个标量来表示。即

u = (Xu,Yu,Zu)

v = (Xv,Yv,Zv)

n = (Xn,Yn,Zn)

则,它们的关系为

Xn = Yu*Zv – Zu*Yv;

Yn = Zu*Xv – Xu*Zv;

Zn = Xu*Yv – Yu*Xv;

即 n = (Yu*Zv – Zu*Yv,Zu*Xv – Xu*Zv,Xu*Yv – Yu*Xv);

而为了验证n与u和v的垂直性,可以使用点乘进行

点乘法则比这个简单多了, u*v = (Xu*Xv + Yu*Yv + Zu*Zv) = dotUV;

如果两个向量垂直,则dotUV = 0;

代入验证一把

u*n = (Xu*(Yu*Zv – Zu*Yv) + Yu*(Zu*Xv – Xu*Zv) + Zu*(Xu*Yv – Yu*Xv));

      = Xu*Yu*Zv – Xu*Zu*Yv + Yu*Zu*Xv – Yu*Xu*Zv + Zu*Xu*Yv – Zu*Yu*Xv;

把正负号的因式仔细比对一下,发现刚好可以低消。 结果为0.

v*n 同理可证。

于是,也验证了n与u,v垂直的特性。

 



楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师