二维坐标的旋转应用很广泛,闲来无事推导一下旋转公式。最后用MATLAB写个函数玩玩。
首先是以原点为中心的旋转:
平面坐标
对原坐标有:
(1)式
对变换后坐标有:
(2)式
对⑵式进行三角函数展开:
(3)式
将⑴式代入⑶式得:
(4)式
⑷式写作矩阵形式:
(5)式
其次是以任意一点为中心的旋转:
坐标系
我们可以将旋转中心(x0,y0)平移到原点,这样就回到了对原点进行旋转的情况,可以使用⑸式,之后再平移回去。
此时的旋转公式:
(6)式
现在我们来用MATLAB验证一下:(GIF效果)
绕任一点的旋转
MATLAB实现:
https://github.com/AnChangNice/MTALAB_EX-rotation_2D
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...