美文网首页
推导坐标旋转公式(转)

推导坐标旋转公式(转)

作者: 种谔 | 来源:发表于2016-06-12 11:09 被阅读0次

    最终公式

    该公式仅仅针对旋转中心在坐标原点的情况。

    x1=cos(angle)*x-sin(angle)*y;
    y1=cos(angle)*y+sin(angle)*x;
    //angle为旋转的角度,x、y是旋转前的坐标
    

    推导过程

    • 从数学上来说,此公式可以用来计算某个点绕另外一点旋转一定角度后的坐标,例如:A(x,y)绕B(a,b)旋转β度后的位置为C(c,d),则x,y,a,b,β,c,d有如下关系式:
    示意图
    1. 设A点旋转前的角度为δ,则旋转(逆时针)到C点后角度为δ+β

    2. 求A,B两点的距离:dist1=|AB|=y/sin(δ)=x/cos(δ)

    3. 求C,B两点的距离:dist2=|CB|=d/sin(δ+β)=c/cos(δ+β)

    4. 显然dist1=dist2,设dist1=r所以:

    ```
    r=x/cos(δ)=y/sin(δ)=d/sin(δ+β)=c/cos(δ+β)
    ```
    
    1. 由三角函数两角和差公式知:

    sin(δ+β)=sin(δ)cos(β)+cos(δ)sin(β)
       cos(δ+β)=cos(δ)cos(β)-sin(δ)sin(β)
    所以得出:
       c=rcos(δ+β)=rcos(δ)cos(β)-rsin(δ)sin(β)=xcos(β)-ysin(β)
       d=r
    sin(δ+β)=rsin(δ)cos(β)+rcos(δ)sin(β)=ycos(β)+xsin(β)
    ```
    即旋转后的坐标c,d只与旋转前的坐标x,y及旋转的角度β有关

    推导坐标旋转公式

    相关文章

      网友评论

          本文标题:推导坐标旋转公式(转)

          本文链接:https://www.haomeiwen.com/subject/uiuedttx.html