python计算空间向量夹角——原理及代码详解

1、原理

cos ⁡ < a ⃗ , b ⃗ > = a ⃗ ⋅ b ⃗ ∣ a ⃗ ∣ ⋅ ∣ b ⃗ ∣ = a 1 b 1 + a 2 b 2 + a 3 b 3 a 1 2 + a 2 2 + a 3 2 ⋅ b 1 2 + b 2 2 + b 3 2 \cos <\vec{a}, \vec{b}>=\frac{\vec{a} \cdot \vec{b}}{|\vec{a}| \cdot|\vec{b}|}=\frac{a_{1} b_{1}+a_{2} b_{2}+a_{3} b_{3}}{\sqrt{a_{1}^{2}+a_{2}^{2}+a_{3}^{2}} \cdot \sqrt{b_{1}^{2}+b_{2}^{2}+b_{3}^{2}}} cos<a ,b >=a b a b =a12+a22+a32 b12+b22+b32 a1b1+a2b2+a3b3

2、代码及详解

# 引入numpy模块并创建两个向量x和y
import numpy as np
x=np.array((1,1,2))
y=np.array([2,1,1])

# 分别计算两个向量的模:
l_x=np.sqrt(x.dot(x))
l_y=np.sqrt(y.dot(y))
print('向量的模=',l_x,l_y)

# 计算两个向量的点积
dian=x.dot(y)
print('向量的点积=',dian)

# 计算夹角的cos值:
cos_=dian/(l_x*l_y)
print('夹角的cos值=',cos_)

# 求得夹角(弧度制):
angle_hu=np.arccos(cos_)
print('夹角(弧度制)=',angle_hu)

# 转换为角度值:
angle_d=angle_hu*180/np.pi
print('夹角=%f°'%angle_d)

3、结果

向量的模= 2.449489742783178 2.449489742783178
向量的点积= 5
夹角的cos值= 0.8333333333333335
夹角(弧度制)= 0.5856855434571507
夹角=33.557310°

4、 ★佐佑思维公众号提供更多学习学术服务★ 二维码如下:

佐佑思维

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值