向量点乘和叉乘

向量点乘和叉乘title 向量点乘和叉乘 categories Mathtags MathKnowledg 向量点乘和叉乘假设存在向量 a 和向量 b a a 1 a 2 a 3 b b 1 b 2 b 3 点乘向量 a 和向量 b 的点乘公式如下 a bulletb a 1 b 1 a 2 b 2 a 3 b 3 要求是向量 a 和向量的 b 的维度要相同 点乘的几何意义点乘的几何意义是可以用来表征或者计算两个向量之间的夹角 以及在 b 向量或


title: 向量点乘和叉乘

categories:

  • Math

tags:

  • Math
  • Knowledge

向量点乘和叉乘

假设存在向量a和向量b:$ a=[a_{1},a_{2},a_{3}],b=[b_{1},b_{2},b_{3}] $

点乘

向量a和向量b的点乘公式如下:

$ a\bullet b=a_{1}b_{1}+a_{2}b_{2}+a_{3}b_{3} $

要求是向量a和向量的b的维度要相同。

点乘的几何意义

点乘的几何意义是可以用来表征或者计算两个向量之间的夹角,以及在b向量或在a向量方向上的投影,公式如下:

$ a\bullet b=a_{1}b_{1}+a_{2}b_{2}+a_{3}b_{3}=|a||b|cos \theta $

首先假设一下向量构成:

figure.1

推导过程如下:

  • 根据上图可以得到c=a-b
  • 根据三角余弦定理可以得到: $ c^{2}=a^{2}+b^{2}-2|a||b|cos \theta$
  • 根据c=a-b,我们可以对上式变换得到 $ (a-b) \bullet(a-b)=a^{2}+b^{2}-2 a \bullet b=a^{2}+b^{2}-2|a \| b| \cos \theta $
  • 化简上式我们可以得到: $ a\bullet b=|a||b|cos \theta $
  • 因此在已知向量a和向量b长度的情况下,我们可以计算得到a和b的夹角θ
  • $ \theta=arc\: cos\left ( \frac{a \bullet b}{|a||b|} \right ) $

根据上述公式就可以计算向量a和向量b之间的夹角,从而就进一步判断出这两个向量是否是同一方向,是否正交,具体对应关系如下:

  • a·b>0 : 方向基本相同,夹角在0到90度之间
  • a·b=0 : 两个向量正交,相互垂直
  • a·b<0 : 方向基本相反,夹角在90度到180度之间

叉乘

两个向量的叉乘,又叫向量积、叉积,叉乘的运算结果是一个向量而不是一个标量。并且两个向量的叉乘与这两个向量组成的坐标平面垂直
同样是使用之前假设的向量a和向量b,我们可以得到向量a和向量b的叉乘公式:

$ a \times b=\left|\begin{array}{lll}\mathrm{i} & \mathrm{j} & \mathrm{k} \\a_{1} & a_{2} & a_{3} \\b_{1} & b_{2} & b_{3}\end{array}\right|=\left(a_{2}b_{3}-a_{3}b_{2}\right) i-\left(a_{1}b_{3}-a_{3}b_{1}\right) j+\left(a_{1}b_{2}-a_{2}b_{1}\right) k $

其中$ i=(1,0,0),j=(0,1,0),k=(0,0,1) $, 其中ijk均为单位向量,最后叉乘的结果为一个向量,所以ijk要为向量,因此单纯的ab相乘再相减得到的标量。
因此根据上述i、j、k间的关系,有如下式子(直接用向量表示):

$ a\times b=\left( a_{2}b_{3}-a_{3}b_{2}, a_{1}b_{3}-a_{3}b_{1}, a_{1}b_{2}-a_{2}b_{1} \right) $

注意: 一个向量叉乘自己得到的是0向量,根据右手定则,叉乘得到的结果无论怎么旋转都会永远会垂直这个向量,因此只有0向量满足。

叉乘的几何意义

在三维几何中,向量a和向量b的叉乘结果是一个向量,这个向量又称为法向量,它是a和b构成的平面的法向量(垂直)。

figure.2

如上图。

右手法则:使用右手法则来判断a×b向量的方向,如下图所示

figuer.3

判断方法如下:

  • 右手手掌张开,四指并拢,大拇指垂直于四指指向的方向
  • 伸出右手,四指弯曲,四指与A旋转到B方向一致,那么大拇指指向为C向量的方向
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208481.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午11:29
下一篇 2026年3月19日 上午11:30


相关推荐

  • 聊聊dubbo协议

    聊聊dubbo协议协议协议通俗易懂地解释就是通信双方需要遵循的约定 我们了解的常见的网络传输协议有 tcp udp http 等 再到我们常用的基础组件 一般来说 client 端与 server 端也有相应的协议 如 redis mysql zookeeper 等都是各自约定的私有协议 同样今天标题中的 dubbo 协议也是一种私有协议 他们都是应用层协议 基于 tcp 或 udp 设计 通常应用层协议都是基于 tcp 和 udp 可靠传输通常使用 tcp 如大多数的基础组件 如 redis mysql 只有能容忍丢失且需要很高的性能时使用 udp 协议 比

    2026年3月18日
    2
  • Python实现简单截图识别获取文字符号信息[通俗易懂]

    Python实现简单截图识别获取文字符号信息[通俗易懂]版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/weixin_42365530有时候我们百度出来一些自己需要信息后,想要直接复制粘贴(借鉴借鉴),提升工作效率,比如学校要求写什么加油稿,期末总结,思想汇报啊…额~,被请去办公室喝茶了,到时别说是博主教的啊!但是百度文库经常会限制我们复制…

    2022年5月20日
    46
  • 浏览器怎么打开微信客户端连接服务器,微信“请在微信客户端打开链接”怎么办?-在浏览器中打开微信链接的方法 – 河东软件园…「建议收藏」

    浏览器怎么打开微信客户端连接服务器,微信“请在微信客户端打开链接”怎么办?-在浏览器中打开微信链接的方法 – 河东软件园…「建议收藏」自从出现了电脑版的微信之后,很多用户都会在电脑中下载安装一个客户端,可就是电脑客户端中打开链接也会出错!微信中有的时候朋友或是公众号会发送一些链接,若是使用电脑单击打开就会被提示“请在微信客户端打开链接”,可是自己使用的就是电脑客户端,并且更换浏览器也不能解决这个现象,这是怎么一回事呢?因为在微信中是自动设置了使用默认浏览器打开的,无法识别的时候自然就不能打开了,我们可以在微信中直接将这个功能关闭…

    2022年6月6日
    617
  • pycharm python解释器找不到_pycharm解析器找不到?初学者搞了一下午快疯了

    pycharm python解释器找不到_pycharm解析器找不到?初学者搞了一下午快疯了时隔两年的修改 问题分析 安装了 python Pycharm 还找不到 Python 解释器 原因是系统环境变量中没有指出 Python exe 的位置 解决办法 找到你安装的 Python exe 所在的位置 将其添加至系统环境变量就好了 怎么添加系统环境变量 百度经验有很多教程 以下是原答案 我也是初学者 搞了一天了 头发蒙 不过好歹弄好了 我理解的 Python 解释器就是 Python exe 这个文件 当初安

    2026年3月27日
    2
  • 多模态交互新范式:语音识别+ChatGPT+文心一言的协同实践

    多模态交互新范式:语音识别+ChatGPT+文心一言的协同实践

    2026年3月12日
    3
  • 1.3万亿条数据查询如何做到毫秒级响应?

    1.3万亿条数据查询如何做到毫秒级响应?

    2020年11月14日
    167

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号