预备知识
矩阵乘法
介绍略,去网上查吧
两角和(差)公式
推导
旋转变换一般是按照某个圆心点,以一定半径 r 旋转一定的角度α
,为了简单起见我们给出下面的情景
假定点A(x,y)想经过旋转变换到达B(x',y'),已知旋转角度α
和点A坐标,计算出点B
要计算点B则分别计算他的x'和y'分量
得出结果:
根据矩阵乘法计算规则,可以推出
左侧矩阵第一行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第一行第一列的元素
左侧矩阵第二行各个元素分别乘以右侧矩阵第一列,然后相加,是结果矩阵的第二行第一列的元素
只要给出旋转角度,就能计算出矩阵,然后就可以用这个矩阵分别左乘每一个点,就能计算出这个点旋转后的点坐标 这样我们就可以通过矩阵变换坐标了
如果是三维的话还得加个Z轴,多一个分量,矩阵也变成了3x3的,但是大概原理差不多,这里只做简单地原理分析,如果想计算三维点的坐标变换自己手动吧!!
关于OpenGL中矩阵详解 强烈推荐!!!