向量的旋转变换西南交通大学基础的2-D绕原点旋转在2-D的迪卡尔坐标系中,一个位置向量的旋转公式可以由三角函数的几何意义推出
比如上图所示是位置向量R逆时针旋转角度B前后的情况
在左图中,我们有关系:x0=|R|*cosAy0=|R|*sinA=>cosA=x0/|R|sinA=y0/|R|下图中,x1=|R|*cos(A+B)y1=|R|*sin(A+B)其中(x1,y1)就是(x0,y0)旋转角B后得到的点,也就是位置向量R最后指向的点
x1=|R|*cos(A+B)y1=|R|*sin(A+B)我们展开cos(A+B)和sin(A+B),得到x1=|R|*(cosAcosB-sinAsinB)y1=|R|*(sinAcosB+cosAsinB)现在把cosA=x0/|R|sinA=y0/|R|代入上面的式子,得到x1=|R|*(x0*cosB/|R|-y0*sinB/|R|)y1=|R|*(y0*cosB/|R|+x0*sinB/|R|)=>x1=x0*cosB-y0*sinBy1=x0*sinB+y0*cosB现在我要把这个旋转公式写成矩阵的形式即:2-D旋转变换矩阵:AsinAcossinAcosAcosAsinAsinAcosA平面旋转矩阵yxvv11cossinsincosyxvv—iR1平移部分平移不是线性的,不能表示为与2×2矩阵相乘的形式
例如要从点(2,1)开始,将其旋转90度,在x方向将其平移3个单位,在y方向将其平移4个单位
可通过先使用矩阵乘法再使用矩阵加法来完成此操作
111BPRBPiii111OPOBROPOBiii1111OPROPOBROBiiii∴θiP1B1θ10xyPiB