首先把用到的公式列出来
cos(a+b) = cosacosb - sinasinb
sin(a+b) = sinacosb + cosasinb
其次
给定一个单位圆,角a的一边在x轴正方向上,另一边与单位圆的交点坐标为(x,y)
则x=cosa y = sina
因此 a和单位圆上的(x,y)一一对应
言归正传,当我们要对任意点(x,y)绕原点旋转角度b时,我们可以按照以下步骤:
1 先把点缩放至单位圆上,此时点的坐标为(x1,y1) 令它对应的角为a 则x1=cosa y1=sina
1.1缩放方法 令M= sqrt(xx+yy) 则有x1=x/M=cosa y1=y/M=sina
2 然后我们将(x1,y1)旋转角度b 的到角c=a+b,此时点的坐标为(x2,y2),根据上面公式可知
x2 = cosacosb - sinasinb
y2 = sinacosb + cosasinb
3 再把点(x2,y2)进行缩放,得到最终的点
X=x2M = Mcosacosb -Msinasinb = xcosb - ysinb
Y=y2M = Msinacosb + Mcosasinb = ycosb + xsinb = xsinb + ycosb
4 得到矩阵
cosb sinb
-sinb cosb
网友评论