python 实现二维点数据根据旋转矩阵批量旋转
时间: 2023-10-21 08:03:57 浏览: 145
可以使用 NumPy 库来实现二维点数据的批量旋转。以下是一个示例代码:
```python
import numpy as np
# 定义原始点数据,每一行表示一个点的坐标
points = np.array([[1, 2], [3, 4], [5, 6]])
# 定义旋转角度(弧度)
angle = np.pi / 4
# 定义旋转矩阵
rotation_matrix = np.array([[np.cos(angle), -np.sin(angle)], [np.sin(angle), np.cos(angle)]])
# 对点数据进行旋转
rotated_points = np.dot(points, rotation_matrix)
print(rotated_points)
```
在上述代码中,我们首先定义了一个二维点数据 `points`,它包含三个点,每个点都有 x 和 y 两个坐标。接着我们定义了一个旋转角度 `angle`,并根据该角度计算出旋转矩阵 `rotation_matrix`。最后,我们使用 NumPy 的 dot 函数将点数据和旋转矩阵相乘,得到旋转后的点数据 `rotated_points`。
需要注意的是,在上述示例代码中,我们假设旋转中心为坐标原点。如果旋转中心不在原点,可以先将点数据移动到原点,进行旋转后再移回去。
阅读全文