python向量叉乘_矢量的点乘和叉乘公式

python向量叉乘_矢量的点乘和叉乘公式向量的内积(点乘)定义概括地说,向量的内积(点乘/数量积)。对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,如下所示,对于向量a和向量b:a和b的点积公式为:这里要求一维向量a和向量b的行列数相同。注意:点乘的结果是一个标量(数量而不是向量)定义:两个向量a与b的内积为a·b=|a||b|cos∠(a,b),特别地,0·a=a·0=0;若a,b是非零向量,则a…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

向量的内积(点乘)

定义

概括地说,向量的内积(点乘/数量积)。对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,如下所示,对于向量a和向量b:

python向量叉乘_矢量的点乘和叉乘公式

python向量叉乘_矢量的点乘和叉乘公式

a和b的点积公式为:

python向量叉乘_矢量的点乘和叉乘公式

这里要求一维向量a和向量b的行列数相同。注意:点乘的结果是一个标量(数量而不是向量)

定义:两个向量a与b的内积为 a·b = |a||b|cos∠(a, b),特别地,0·a =a·0 = 0;若a,b是非零向量,则a与b****正交的充要条件是a·b = 0。

向量内积的性质:

a^2 ≥ 0;当a^2 = 0时,必有a = 0. (正定性)

a·b = b·a. (对称性)

(λa + μb)·c = λa·c + μb·c,对任意实数λ, μ成立. (线性)

cos∠(a,b) =a·b/(|a||b|).

|a·b| ≤ |a||b|,等号只在a与b共线时成立.

向量内积的几何意义

内积(点乘)的几何意义包括:

表征或计算两个向量之间的夹角

b向量在a向量方向上的投影

有公式:

python向量叉乘_矢量的点乘和叉乘公式

推导过程如下,首先看一下向量组成:

python向量叉乘_矢量的点乘和叉乘公式

定义向量c:

python向量叉乘_矢量的点乘和叉乘公式

根据三角形余弦定理(这里a、b、c均为向量,下同)有:

python向量叉乘_矢量的点乘和叉乘公式

根据关系c=a-b有:

python向量叉乘_矢量的点乘和叉乘公式

即:

a∙b=|a||b|cos⁡(θ)

向量a,b的长度都是可以计算的已知量,从而有a和b间的夹角θ:

θ=arccos⁡(a∙b|a||b|)

进而可以进一步判断两个向量是否同一方向或正交(即垂直)等方向关系,具体对应关系为:

a∙b>0→方向基本相同,夹角在0°到90°之间

a∙b=0→ 正交,相互垂直

a∙b<0→ 方向基本相反,夹角在90°到180°之间

向量的外积(叉乘)

定义

概括地说,两个向量的外积,又叫叉乘、叉积向量积,其运算结果是一个向量而不是一个标量。并且两个向量的外积与这两个向量组成的坐标平面垂直。

定义:向量a与b的外积a×b是一个向量,其长度等于|a×b| = |a||b|sin∠(a,b),其方向正交于a与b。并且,(a,b,a×b)构成右手系。

特别地,0×a = a×0 = 0.此外,对任意向量a,a×a=0。

对于向量a和向量b:

python向量叉乘_矢量的点乘和叉乘公式

a和b的外积公式为:

python向量叉乘_矢量的点乘和叉乘公式

其中:

python向量叉乘_矢量的点乘和叉乘公式

根据i、j、k间关系,有:

python向量叉乘_矢量的点乘和叉乘公式

向量外积的性质

a × b = -b × a. (反称性)

(λa + μb) × c = λ(a ×c) + μ(b ×c). (线性)

向量外积的几何意义

在三维几何中,向量a和向量b的外积结果是一个向量,有个更通俗易懂的叫法是法向量,该向量垂直于a和b向量构成的平面。

在3D图像学中,外积的概念非常有用,可以通过两个向量的外积,生成第三个垂直于a,b的法向量,从而构建X、Y、Z坐标系。如下图所示:

python向量叉乘_矢量的点乘和叉乘公式

在二维空间中,外积还有另外一个几何意义就是:|a×b|在数值上等于由向量a和向量b构成的平行四边形的面积。

Reference

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode-103二叉树的锯齿形层序遍历「建议收藏」

    leetcode-103二叉树的锯齿形层序遍历「建议收藏」给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层序遍历如下:[ [3], [20,9], [15,7]]/** * Definition for a binary tree node. * struct TreeNode { * int

    2022年8月8日
  • ETL是什么_ETL平台

    ETL是什么_ETL平台一、ETL发展的背景信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。据统计,数据量每经过2-3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占总数据量的2%~4

    2022年8月6日
  • Java日志全解析(上) – 源流「建议收藏」

    作为Java程序员,幸运的是,Java拥有功能和性能都非常强大的日志库;不幸的是,这样的日志库有不止一个——相信每个人都曾经迷失在JUL(JavaUtilLog),JCL(CommonsLogging),Log4j,SLF4J,Logback,Log4j2等等的迷宫中。在我见过的绝大多数项目中,都没有能够良好的配置和使用日志库。

    2022年4月8日
  • gpl和lgpl区别_nh拿下pgc开门红

    gpl和lgpl区别_nh拿下pgc开门红GPL我们很熟悉的Linux就是采用了GPL。GPL协议和BSD,ApacheLicence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开

    2022年11月2日
  • QT学习—使用多线程的两种方法(子类化QThread+子类化QObject)

    QT学习—使用多线程的两种方法(子类化QThread+子类化QObject)第一种方法:摘要Qt多线程方法1继承QThread1写一个继承于QThread的线程2QThread的几个函数quitexitterminate函数3正确的终止一个线程4如何正确启动一个线程41正确的启动一个全局线程和UI一直存在的线程42如何启动一个局部线程用完即释放的线程继承QThread的一些总结使用QObject实现多线的方法见:http://blog.csdn.net/czyt…

    2022年5月8日
  • 机器学习之文本分类(附带训练集+数据集+所有代码)

    机器学习之文本分类(附带训练集+数据集+所有代码)我本次对4类文本进行分类((所有截图代码和数据集最后附带免费下载地址))主要步骤:1.各种读文件,写文件2.使用jieba分词将中文文本切割3.对处理之后的文本开始用TF-IDF算法进行单词权值的计算4.去掉停用词5.贝叶斯预测种类文本预处理:除去噪声,如:格式转换,去掉符号,整体规范化遍历的读取一个文件下的每个文本中文分词…

    2022年6月2日

发表回复

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

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