python 根据向量创建旋转矩阵
时间: 2024-01-04 14:01:14 浏览: 35
Python可以通过使用numpy库来创建旋转矩阵。首先,需要导入numpy库,然后使用以下代码来创建一个旋转矩阵:
```python
import numpy as np
def rotation_matrix(v, theta):
axis = v / np.linalg.norm(v) # 将向量v单位化
a = np.cos(theta / 2)
b, c, d = -axis * np.sin(theta / 2)
# 创建旋转矩阵
rotation_matrix = np.array([
[a * a + b * b - c * c - d * d, 2 * (b * c - a * d), 2 * (b * d + a * c)],
[2 * (b * c + a * d), a * a - b * b + c * c - d * d, 2 * (c * d - a * b)],
[2 * (b * d - a * c), 2 * (c * d + a * b), a * a - b * b - c * c + d * d]
])
return rotation_matrix
# 使用向量v和旋转角度theta来创建旋转矩阵
v = np.array([1, 0, 0]) # 定义旋转向量
theta = np.pi / 2 # 定义旋转角度为90度
R = rotation_matrix(v, theta) # 创建旋转矩阵
print(R)
```
上述代码中,首先将向量v单位化,然后根据旋转向量和旋转角度创建旋转矩阵。这样就可以方便地使用Python创建旋转矩阵了。