python计算二维向量的夹角
时间: 2024-10-11 19:06:47 浏览: 47
Python 计算任意两向量之间的夹角方法
在Python中,计算两个二维向量之间的夹角通常使用余弦定理(Cosine Theorem)。向量A = (a1, a2) 和向量B = (b1, b2),它们之间的夹角θ可以通过下面的公式计算:
cos(θ) = (A·B) / (|A| * |B|)
其中 A·B 表示向量A和向量B的点积,|A| 和 |B| 分别表示向量A和B的模(长度)。
具体的步骤如下:
1. 计算点积 (a1*b1 + a2*b2)
2. 计算向量A和B的模,即 sqrt(a1**2 + a2**2) 和 sqrt(b1**2 + b2**2)
3. 使用上述公式计算cos(θ)
如果你需要一个函数来完成这个计算,可以编写如下Python代码:
```python
import math
def angle_between_vectors(vec1, vec2):
dot_product = sum(x*y for x, y in zip(vec1, vec2))
norm_vec1 = math.sqrt(sum(x**2 for x in vec1))
norm_vec2 = math.sqrt(sum(y**2 for y in vec2))
cos_theta = dot_product / (norm_vec1 * norm_vec2)
# 将弧度转换为角度(如果需要)
return math.degrees(math.acos(cos_theta))
# 示例
vec_a = [1, 2]
vec_b = [3, 4]
angle = angle_between_vectors(vec_a, vec_b)
print(f"向量的夹角是: {angle} 度")
```
阅读全文