旋转后查找点的新坐标

Mah*_*ata 13 math

假设我有一个尺寸为w*h的矩形,并且在该位置(x,y)的矩形内有一个任意点,现在我将这个矩形旋转到X度,旋转后该任意点的新位置是什么..

Mat*_*att 26

新坐标(x',y')是标准旋转公式的结果:

y' = y*cos(a) - x*sin(a)
x' = y*sin(a) + x*cos(a)
Run Code Online (Sandbox Code Playgroud)

其中a是顺时针旋转的角度.这假设相对于旋转中心给出(x,y).换句话说,(0,0)是旋转中心.

大多数sin/cos函数要求角度为弧度.在这种情况下,如果X以度为单位,请使用此转换公式:

a = X * pi / 180
Run Code Online (Sandbox Code Playgroud)

  • 你的答案是错的,它是'y'= y*cos(a)+ x*sin(a)`,`x'= - y*sin(a)+ x*cos(a)`. (9认同)
  • @GhilasBELHADJ是的,这通常是数学中的惯例,'a`是逆时针旋转的角度.在计算机图形学中,有时期望它是顺时针的,这就是这个答案所假设的.感谢你指出模棱两可; 答案已经更新. (2认同)
  • @quantumflash 将图像的中心平移到 (0,0),旋转,然后将其平移回来。 (2认同)