已知一个正方形的左上角,右下角坐标,但是正方形在屏幕上位置不正,如何以左上角的坐标为定点旋转一定的角度,使正方形的位置变正,请给出代码,特别是如何计算应该旋转的角度,谢谢

解决方案 »

  1.   

    因为我要处理从扫描仪里得出的图片,由于人为原因,图片可能不正,老板让我想法把它转正,你不用告诉我旋转的算法,我用CxImage,你只要告诉我如何计算要转的角度,我基础不好,不会用三角函数,谢谢
      

  2.   

    xR = xr-xl;
    yR = yr-yl;
    angle = atan2(yR,xR);
    angle-=3.14159/4.0;aa = cos(angle);
    bb = sin(angle);
    xll = xl;
    yll = yl;xrr=aa*xR-bb*yR+xl;
    yrr=bb*xR+aa*yR+yl;
      

  3.   

    syy64(太平洋):谢谢,能解释一下吗,还有就是最后要的角度是哪个值?
      

  4.   

    计算对角线的角度与45度差多少就可以了:左上角(x0,y0),右下角(x1, y1),angle = atan((double)(y1 - y0) / (x1 - x0))(注意x0 = x1情况)或atan2(y1 - y0, x1 - x0);
      

  5.   

    最后一个angle就是要求得角度,以弧度为单位。