(二十六)——某点绕点旋转后的坐标
来自:https://zhuanlan.zhihu.com/p/327822712
在平面坐标上,任意点P(x1,y1),绕一个坐标点Q(x2,y2)逆时针旋转θ角度后,新的坐标设为(x, y)的计算公式:
x= (x1 - x2)*cos(θ) - (y1 - y2)*sin(θ) + x2 ;
y= (x1 - x2)*sin(θ) + (y1 - y2)*cos(θ) + y2 ;
另一个场景应用,坐标轴绕着原点逆时针旋转θ角度,也就变成:
x= x1 * cos(θ) - y1 * sin(θ) ;
y= x1 * sin(θ) + y1 * cos(θ) ;
在图像中,图像(0,0)点的坐标的原点是在图像的左上角。
假设图像的宽度x高度为col x row,图像中某个像素P(x1,y1),绕某个像素点Q(x2,y2)旋转θ角度后,则该像素点的新坐标位置为(x, y),其计算公式为:
x1 = x1;
y1 = row - y1;
x2 = x2;
y2 = row - y2;
x = (x1 - x2)*cos(pi / 180.0 * θ) - (y1 - y2)*sin(pi / 180.0 * θ) + x2;
y = (x1 - x2)*sin(pi / 180.0 * θ) + (y1 - y2)*cos(pi / 180.0 * θ) + y2;
x=x;
y = row - y;