推导坐标旋转公式

                                                               软件架构师何志丹

O是坐标原点,A(x0,y0)移动前的点,B是移动后的点(x1,y),AC垂直于X轴,垂直C。BD垂直于X轴,垂直D。令a= AOC b= AOB。

因为OA、OB都是同一圆的半径,所以OA=OB,所以|BD|/sin(a+b)=|AC|/sina,即y1/sin(a+b)=y0/sina;

y1=y0*sin(a+b)/sina= y0(sinacosb+sinbcosa)/sina=y0*cosb+y0cosasinb/sina=y0cosb+y0cotasinb=y0cosb+x0sinb

因为|x1|/cos(a+b)=|x0|/cosa ,所以|x1|=|x0|*cos(a+b)/cosa=|x0|*cosa*cosb/cosa-|x0|*sina*sinb/cosa=|x0|*cosb-|y0|sinb

猜你喜欢

转载自blog.csdn.net/he_zhidan/article/details/84131805