gpt4 book ai didi

python - 旋转矩阵

转载 作者:行者123 更新时间:2023-11-28 22:09:41 25 4
gpt4 key购买 nike

我正在尝试将给定图形旋转 90 度。

fig = plt.figure()
points = [[0.3036, 0.1960], [0.6168, 0.2977], [0.7128, 0.4169], [0.7120, 0.1960],[0.9377,0.2620],\
[0.7120,0.5680],[0.3989,0.6697],[0.3028,0.7889],[0.3036,0.5680],[0.5293,0.5020]]

bird = matplotlib.patches.Polygon(points, facecolor='blue')

fig, ax = plt.subplots()
ax.set_aspect("equal")
ax.add_patch(bird)

ax.set_xlim(0.2,1)
ax.set_ylim(0.2,0.9)
plt.show()

最佳答案

要旋转矩阵,您基本上需要将坐标乘以旋转矩阵,该矩阵由下式给出

[[cos(theta), -sin(theta)], [sin(theta), cos(theta)]]

theta 是旋转角度(因此在您的情况下为 [[0, -1], [1, 0]])。

所以你只需像这样计算点积:

points = np.array(points)
rotation_matrix = np.array([[0, -1], [1, 0]])
new_points = points.dot(rotation_matrix)

然后您可以绘制新的坐标集。这是结果(在将 (0, 1) 添加到坐标之后,以便鸟在框架中...... enter image description here

关于python - 旋转矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57368057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com