两个向量叉乘(定义是类似多项式相乘再求和)和点乘(定义是对应位置的坐标相乘再求和)的定义和证明,以及和四元数乘法的联系和区别
向量叉乘:
两个向量的坐标量积又叫做向量积,用于计算法向量。
游戏内应用:
用于判断物体在自身的左右方位。
还有应用于图形学里,对环境光照于自身顶点或者片元的法向量的夹角来判断光漫反射的强弱。
用于相机视图是否剔除该面的渲染。
等等。
判断方式
图片是截取自百度百科https://baike.baidu.com/item/%E5%90%91%E9%87%8F%E7%A7%AF/4601007?fr=aladdin
顺时针方向从b旋转到a,使用左手定则,四指方向是旋转方向,大拇指方向即为法向量方向。
逆时针方向从a到b,可使用右手定则,上同。
法向量的模定义为:
也就是ab平行四边形面积。
证明
为了更好地推导,我们需要加入三个轴对齐的单位向量i,j,k。
i,j,k满足以下特点:
i=jxk;j=kxi;k=ixj;
kxj=–i;ixk=–j;jxi=–k;
ixi=jxj=kxk=0;(0是指0向量)
由此可知,i,j,k是三个相互垂直的向量。它们刚好可以构成一个坐标系。
这三个向量的特例就是i=(1,0,0)j=(0,1,0)k=(0,0,1)。
对于处于i,j,k构成的坐标系中的向量u,v我们可以如下表示:
u=Xu*i+Yu*j+Zu*k;
v=Xv*i+Yv*j+Zv*k;
那么uxv=(Xu*i+Yu*j+Zu*k)x(Xv*i+Yv*j+Zv*k)
=Xu*Xv*(ixi)+Xu*Yv*(ixj)+Xu*Zv*(ixk)+Yu*Xv*(jxi)+Yu*Yv*(jxj)+Yu*Zv*(jxk)+Zu*Xv*(kxi)+Zu*Yv*(kxj)+Zu*Zv*(kxk)
由于上面的i,j,k三个向量的特点,所以,最后的结果可以简化为
uxv=(Yu*Zv–Zu*Yv)*i+(Zu*Xv–Xu*Zv)*j+(Xu*Yv–Yu*Xv)*k。 [1]
https://baike.baidu.com/item/%E5%90%91%E9%87%8F%E7%A7%AF/4601007?fr=aladdin
要计算向量积,我们需要引用几个公式
代数规则
1、反交换律:a×b=-b×a
2、加法的分配律:a×(b+c)=a×b+a×c。
3、与标量乘法兼容:(ra)×b=a×(rb)=r(a×b)。
4、不满足结合律,但满足雅可比恒等式:a×(b×c)+b×(c×a)+c×(a×b)=0。
5、分配律,线性性和雅可比恒等式别表明:具有向量加法和叉积的R3构成了一个李代数。
6、两个非零向量a和b平行,当且仅当a×b=0
且当我们设坐标系三个单位向量为i,j,k可得:
比百度百科更清晰的证明为了更好地推导,我们需要加入三个轴对齐的单位向量i,j,k。
i,j,k满足以下特点:
i=jxk;j=kxi;k=ixj;
kxj=–i;ixk=–j;jxi=–k;
ixi=jxj=kxk=0;(0是指0向量)
由此可知,i,j,k是三个相互垂直的向量。它们刚好可以构成一个坐标系。
关于ijk的特点应该和四元数中ijk三个量中的彼此两两相乘等于-1有联系的2023.3.10
根据以上几个代数规则可得
则a×b=[a2b3-a3b2,a3b1-a1b3,a1b2-a2b1]
————————————————
版权声明:本文为CSDN博主「bubblingo0」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39329287/article/details/121847740
两个向量的点积
点积在数学中,又称数量积(dot product; scalar product),是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积。 [1]
两个向量a = [a1, a2,…, an]和b = [b1, b2,…, bn]的点积定义为:
a·b=a1b1+a2b2+……+anbn。
使用矩阵乘法并把(纵列)向量当作n×1 矩阵,点积还可以写为:
a·b=(a^T)*b,这里的a^T指示矩阵a的转置。
https://baike.baidu.com/item/%E7%82%B9%E7%A7%AF/9648528?fromModule=lemma_inlink
======点乘======
推导公式1:
a•b = ax*bx + ay*by
= (|a|*sinθ1) * (|b| * sinθ2) + (|a| * cosθ1) * (|b| * cosθ2)
= |a||b|(sinθ1*sinθ2 + cosθ1*cosθ2)
=|a||b|(cos(θ1-θ2))
= |a||b|cosθ
推导公式2:
几何意义是:算角度,算投影
======叉乘======:
几何意义是:算方向,算面积
https://blog.csdn.net/weixin_30363817/article/details/101945982
两个向量叉乘(定义是类似多项式相乘再求和)和点乘(定义是对应位置的坐标相乘再求和)的定义和证明,以及和四元数乘法的联系和区别相关推荐
- 向量叉乘求三维空间中两直线(或线段)的交点
1.2D空间的直线相交 在二维空间中,利用两个直线方程y = kx + b我们可以直接计算出交点,但是这种方法麻烦了些,并且套用到三维空间用公式就更麻烦了,接下来介绍的是如何利用向量叉乘求出直线交点. ...
- 判断多边形的凹凸性和计算多边形面积:利用向量叉乘
根据百度百科的讲解: 凸多边形 现在重点讲解顶点凹凸性法(最常用也是较为简单的方法):计算总结在最后. 利用向量叉乘的相关知识进行计算:假设当前连续的三个顶点分别是P1,P2,P3.计算向量P1P3, ...
- 两向量叉乘的计算公式_高中数学知识背景下对向量叉乘运算的探讨(向东来)
c b a θ 高中数学知识背景下对向量叉乘运算的探 讨 在高中数学的学习中,同学们接触到向量的概念,并了解其性质.线性运算.坐标表 示.数量积以及在实际问题中的应用.在此基础上,可进一步深化,引入向 ...
- 两向量叉乘的计算公式_向量运算(叉乘几何意义)
向量的叉乘,即求同时垂直两个向量的向量,即c垂直于a,同时c垂直于b(a与c的夹角为90°,b与c的夹角为90°) c = a×b = (a.y*b.z-b.y*a.z , b.x*a.z-a.x*b ...
- 两个向量的点乘和叉乘怎么算_Unity游戏开发——向量运算(点乘和叉乘)
0.前言 在游戏开发中,确定目标的方位,朝向,夹角等相关数据需要用到向量间的计算,其中最常用到的就是点乘和叉乘. 说实话,因为向量的运算在平时开发中不是经常使用,我也总弄混这两种运算的含义,所以这次好 ...
- 两个向量的点乘和叉乘怎么算_向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读...
向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组: 向量的点乘,也叫向量的内积.数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是 ...
- 两个向量的点乘和叉乘怎么算_向量的点乘和叉乘
向量的点乘和叉乘2019-12-09 15:46:24文/董月 点乘,也叫数量积.结果是一个向量在另一个向量方向上投影的长度,是一个标量.叉乘,也叫向量积.结果是一个和已有两个向量都垂直的向量. 点乘 ...
- 两个向量的点乘和叉乘怎么算_点乘(内积)和叉乘(外积、向量积)
转自原创出处:http://blog.csdn.net/dcrmg/article/details/52416832 向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组: ...
- 两个向量的点乘和叉乘怎么算_向量的点乘和叉乘的区别,举个例子,谢谢!
一.运算结果不同: 叉乘运算结果是一个向量而不是一个标量.并且两个向量的叉积与这两个向量和垂直.点乘,也叫数量积.结果是一个向量在另一个向量方向上投影的长度,是一个标量. 二.应用不同: 1.点乘:平 ...
最新文章
- 某快手程序员吐槽:月薪四万很惶恐!和老婆亲热时都在想工作,薪资越高,做人越怂!
- iphone照片删掉又出现_iPhone 内存不够用,原因在这儿!
- 八城联动丨神策 2020 数据驱动用户大会「合肥站」邀您免费参会!
- 利用tensorflow构建AlexNet模型,实现小数量级的猫狗分类(只有train)
- 栈空间不够会报错吗_c++如何解决大数组栈内存不够的问题
- 苹果Mac 3D 模型展开工具:Unfolder
- LCD12864图片字模生成
- eclipse安装翻译插件(通用)
- openwrt定时任务 2021-10-08
- 苹果输了官司,iPad会改名吗?
- 抖音搬运视频如何伪原创
- Some useful linux commands
- 阿里云 SLB示例配置
- JAVA的GUI编程02——事件监听(ActionListener)、TextField事件监听、(组合、内部类)
- 高精度结构光工业3D相机Mech-Eye PRO全面升级:可选蓝光/白光版本,适合中距离应用...
- Psins代码解析之全局变量轨迹仿真(test_SINS_trj.m)惯性解算(test_SINS.m)
- AI也会“学坏”?都是人类捣的鬼!
- 基于VS2010下MFC编写程控软件,控制衰减器
- 龙智荣誉 | 一封来自客户的感谢信
- jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除