二维坐标的旋转应用很广泛,闲来无事推导一下旋转公式。最后用MATLAB写个函数玩玩。
首先是以原点为中心的旋转:
     平面坐标
对原坐标有:
     (1)式
对变换后坐标有:
     (2)式
对⑵式进行三角函数展开:
     (3)式
将⑴式代入⑶式得:
     (4)式
⑷式写作矩阵形式:
     (5)式
其次是以任意一点为中心的旋转:
     坐标系
我们可以将旋转中心(x0,y0)平移到原点,这样就回到了对原点进行旋转的情况,可以使用⑸式,之后再平移回去。
此时的旋转公式:
     (6)式
现在我们来用MATLAB验证一下:(GIF效果)
     绕任一点的旋转
MATLAB实现:
https://github.com/AnChangNice/MTALAB_EX-rotation_2D