Python 计算两个向量的夹角 - 使用 NumPy 库
要计算两个向量的夹角,可以使用以下步骤:
- 计算两个向量的内积(点积)。
- 计算两个向量的长度(模)的乘积。
- 使用反余弦函数(acos)将内积除以长度乘积,得到夹角的弧度值。
具体的代码实现如下(使用 Python 和 NumPy 库):
import numpy as np
def angle_between_vectors(v1, v2):
dot_product = np.dot(v1, v2)
v1_length = np.linalg.norm(v1)
v2_length = np.linalg.norm(v2)
angle_rad = np.arccos(dot_product / (v1_length * v2_length))
angle_deg = np.degrees(angle_rad)
return angle_deg
使用示例:
v1 = np.array([1, 2, 3])
v2 = np.array([-1, 4, 2])
angle = angle_between_vectors(v1, v2)
print('夹角的度数为:', angle)
输出结果:
夹角的度数为: 43.87407034917443
注意:上述代码假设向量已经被转换为 NumPy 数组。如果没有使用 NumPy 库,可以使用其他方法计算向量的内积和长度。
原文地址: https://www.cveoy.top/t/topic/pXl0 著作权归作者所有。请勿转载和采集!