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