这是围绕点旋转的方式吗?


问题内容

假设我有一个带点的多边形:

(0,0)
(100,0)
(100,100)
(0,100)

让我们也将其中心设为(50,50)。

要旋转它,我将向每个点的每个分量添加50,然后执行

x' = cos(theta)*x - sin(theta)*y
y' = sin(theta)*x + cos(theta)*y

然后从每个点的每个分量中减去50?

谢谢


问题答案:

没错,除了在开始时您需要减去50以使多边形中心回到0,然后在末尾添加50以使多边形回到其原始位置。

实际上,您在这里使用的是2D旋转矩阵:

替代文字