预备知识
矩阵乘法
介绍略,去网上查吧
两角和(差)公式
![5bb8438199211bb4d3f5f9483f15ad15.png](https://img-blog.csdnimg.cn/img_convert/5bb8438199211bb4d3f5f9483f15ad15.png)
推导
旋转变换一般是按照某个圆心点,以一定半径 r 旋转一定的角度α
,为了简单起见我们给出下面的情景
假定点A(x,y)想经过旋转变换到达B(x',y'),已知旋转角度α
和点A坐标,计算出点B
![d3d8580a04963e57c0ba42a098182fd8.png](https://img-blog.csdnimg.cn/img_convert/d3d8580a04963e57c0ba42a098182fd8.png)
要计算点B则分别计算他的x'和y'分量
![987d429793dce93730975adc38e21f4f.png](https://img-blog.csdnimg.cn/img_convert/987d429793dce93730975adc38e21f4f.png)
得出结果:
![bf9b4c49a3236b83cf3a4b8e6b080e50.png](https://img-blog.csdnimg.cn/img_convert/bf9b4c49a3236b83cf3a4b8e6b080e50.png)
根据矩阵乘法计算规则,可以推出
左侧矩阵第一行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第一行第一列的元素
左侧矩阵第二行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第二行第一列的元素
![df33494ffde39f750e4ecfcc245a4627.png](https://img-blog.csdnimg.cn/img_convert/df33494ffde39f750e4ecfcc245a4627.png)
只要给出旋转角度,就能计算出矩阵,然后就可以用这个矩阵分别左乘每一个点,就能计算出这个点旋转后的点坐标 这样我们就可以通过矩阵变换坐标了
如果是三维的话还得加个Z轴,多一个分量,矩阵也变成了3x3的,但是大概原理差不多,这里只做简单地原理分析,如果想计算三维点的坐标变换自己手动吧!!
3D下面旋转矩阵
绕X轴的3D旋转矩阵:
![65341cf4ab128ca182c129b2c9aa02a4.png](https://img-blog.csdnimg.cn/img_convert/65341cf4ab128ca182c129b2c9aa02a4.png)
绕Y轴的3D旋转矩阵:
![0236c8f9fb8bde427eed4aa672896255.png](https://img-blog.csdnimg.cn/img_convert/0236c8f9fb8bde427eed4aa672896255.png)
绕Z轴的3D旋转矩阵:
![5919232a1418403eff029964e8c64dd9.png](https://img-blog.csdnimg.cn/img_convert/5919232a1418403eff029964e8c64dd9.png)