8.Python趣味数学笔记:点积和叉积

8.Python趣味数学笔记:点积和叉积向量相乘分为 点积 例如 和叉积 例如 对于数来说 这些符号意思都是表示数字相乘 但是对于向量来说 却表示完全不同的操作 点积点积 也叫内积 是对两个向量的运算 返回一个标量 点积适用于二维 三维等任意维度的向量 可以用来测量向量之间

大家好,欢迎来到IT知识分享网。

向量相乘分为:点积(例如:)和叉积(例如:),对于数来说,这些符号意思都是表示数字相乘,但是对于向量来说,却表示完全不同的操作。

8.Python趣味数学笔记:点积和叉积

点积

点积(也叫内积)是对两个向量的运算,返回一个标量。点积适用于二维、三维等任意维度的向量,可以用来测量向量之间的“对齐程度”。

计算公式:

假设:

表示的几何含义:

向量投影到向量所在的直线(三维是平面),投影长度乘上向量的长度。

8.Python趣味数学笔记:点积和叉积

余弦函数图:

8.Python趣味数学笔记:点积和叉积

利用计算公式,我们可以得到:

两向量的夹角和一个向量在另一个向量上面的投影;一般来说,点积越大,两向量夹角越小,彼此越靠近

如果两个向量的夹角小于90°,则向量的点积为正;如果夹角大于90°,则向量的点积为负;如果夹角等于90°,则向量的点积为0。

from math import acos,sqrt,radians,degrees,pi #求向量的点积 def dot(u,v): return sum([c1*c2 for c1,c2 in zip(u,v)]) #向量的长度 def length(v): return sqrt(sum([item2 for item in v])) #求两个向量的夹角 def angle_between(u,v): return acos(dot(u,v)/(length(u)*length(v)))

举例:,夹角22.6°

8.Python趣味数学笔记:点积和叉积

,夹角=90°

8.Python趣味数学笔记:点积和叉积

,夹角132.2°

8.Python趣味数学笔记:点积和叉积

叉积

叉积(也叫向量积)以两个三维向量作为输入,其输出是另一个三维向量。它与点积的相似之处在于,输入向量的长度和相对方向决定了输出;不同之处在于,它的输出不仅有大小,还有方向。

计算公式:

假设:

表示的几何含义:

长度等于向量和向量所形成的平行四边形的面积;

8.Python趣味数学笔记:点积和叉积

方向垂直于两个向量所张成的平面,满足右手定则。

8.Python趣味数学笔记:点积和叉积

利用计算公式,我们可以得到:

一个垂直于两个向量所张成平面的向量;根据该向量可以判断方向。

举例:计算向量的叉积。

#计算向量积 def cross_product(u,v): ux,uy,uz=u vx,vy,vz=v return (uy*vz-uz*vy,uz*vx-ux*vz,ux*vy-uy*vx) #(0, 0, 3) print(cross_product((1,1,0),(-2,1,0)))
8.Python趣味数学笔记:点积和叉积

解决问题

1.如何理解点积的几何意义?

设向量,向量,终点分别为:,原点为O,夹角为

8.Python趣味数学笔记:点积和叉积

在△OAB中,由余弦定理得:

8.Python趣味数学笔记:点积和叉积

利用距离公式对这个等式稍作处理:

8.Python趣味数学笔记:点积和叉积

去括号、合并:

8.Python趣味数学笔记:点积和叉积

2.叉积和行列式有什么关系?

向量和向量的叉积,形式上使用行列式可以表示为:

8.Python趣味数学笔记:点积和叉积

8.Python趣味数学笔记:点积和叉积

三维空间中,3 * 3矩阵的行列式是:三个向量所形成的平行六面体的有向体积(绝对值是体积,但需要根据方向判定其正负号)。这并非真正的叉积,但很接近。

假设我们把第一个向量看作变量,输入向量,通过矩阵的行列式可以计算出一个数,这个数就代表我们的输入向量与所组成的平行六面体的有向体积。

8.Python趣味数学笔记:点积和叉积

上面的函数是线性的,所以我们可以将上面的行列式过程表示成一个变换过程:

8.Python趣味数学笔记:点积和叉积

当线性变换是从多维到一维时,线性变换过程又可以表示为点积形式:

8.Python趣味数学笔记:点积和叉积

8.Python趣味数学笔记:点积和叉积

可以求解出向量的坐标:

8.Python趣味数学笔记:点积和叉积

8.Python趣味数学笔记:点积和叉积

8.Python趣味数学笔记:点积和叉积

所以,问题其实变换为了,找到一个向量,使得和某个向量求点积的结果,等于对应的三维方阵行列式的值(即和向量所组成的平行六面体的有向体积)。

8.Python趣味数学笔记:点积和叉积

8.Python趣味数学笔记:点积和叉积

左边是一个点积,相当于把上投影,然后投影长度和的长度相乘。

右边平行六面体的体积,可以拆解为:底面积 * 高。底面积可以认为是所组成的平行四边形的面积,高的话是在垂直于所张成的平面的方向上的分量的长度。

点积 = 的长度*上投影的长度

体积 = 所组成的平行四边形的面积 * 在垂直于所张成的平面的方向上的分量的长度

根据二者相等,可以认为的长度是所组成的平行四边形的面积,的方向垂直于所张成的平面。

这样我们的就找到了,而就是我们要找的叉积的结果。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/162823.html

(0)
上一篇 2025-01-10 22:33
下一篇 2024-11-17 12:00

相关推荐

发表回复

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

关注微信