
二维坐标的旋转应用很广泛,闲来无事推导一下旋转公式。最后用MATLAB写个函数玩玩。
首先是以原点为中心的旋转:

平面坐标
对原坐标有:

(1)式
对变换后坐标有:

(2)式
对⑵式进行三角函数展开:

(3)式
将⑴式代入⑶式得:

(4)式
⑷式写作矩阵形式:

(5)式
其次是以任意一点为中心的旋转:

坐标系
我们可以将旋转中心(x0,y0)平移到原点,这样就回到了对原点进行旋转的情况,可以使用⑸式,之后再平移回去。
此时的旋转公式:

(6)式
现在我们来用MATLAB验证一下:(GIF效果)

绕任一点的旋转
MATLAB实现:
https://github.com/AnChangNice/MTALAB_EX-rotation_2D