计算旋转的矩形/精灵的边/角

时间:2015-10-05 09:48:19

标签: algorithm sprite

如何计算旋转的矩形的所有角,并且anchorXY位于其中间(0.5,0.5)。 有人可以为它提供一些功能吗?

1 个答案:

答案 0 :(得分:1)

使用三角法。

让(非旋转,平行​​于轴)矩形的初始坐标为: (0,0),(8,10)。 (左下角,右上角)。让它按角度x旋转,保持原点不变。然后,新的坐标将是:

(0,0),(8 * cos(x),8 * sin(x)),(8 * cos(x) - 10 * sin(x),8 * sin(x)+ 10 * cos (x)),( - 10 * sin(x),10 * cos(x))

您可以查看https://en.wikipedia.org/wiki/Rotation_of_axes

编辑:

轴的翻译:

如果原点从(0,0)移位到(h,k),则点(x,y)将变为(x + h,y + k)。所以,如果旋转锚是(0.5,0.5),

  • 将原点带到这一点(轴的平移)
  • 旋转轴后查找所有点(参见上面的轴旋转)
  • 再次将轴转换为上一个原点(再次,翻译)