如何在旋转形状时计算形状中的点

时间:2014-04-03 04:29:38

标签: javascript image math rotation coordinates

我有一堆不同的形状,在这些形状上有20个点放在网格中。我想弄清楚的是如何计算旋转形状时这些点的位置,形状可以从形状的中心旋转任意角度。这些点位于形状的左上角。

enter image description here

enter image description here

以下是一些形状示例,其中我希望能够在旋转形状时计算这些点。我有0度所有形状的所有x / y坐标。我正在构建一个JavaScript应用程序,所以如果有人在JavaScript中有任何功能,这将是很好的,或者如果你可以指导我到某个地方有一些资源。

1 个答案:

答案 0 :(得分:1)

要使点(Xc,Yc)绕中心点(Xc,Yc)旋转角度逆时针角度,可以使用复杂affine transformation,由旋转中心到原点的平移,原点旋转和后退翻译。结果公式:

Xnew = Xc + (Xold - Xc) * Cos(Angle) - (Yold-Yc) * Sin(Angle)
Ynew = Yc + (Xold - Xc) * Sin(Angle) + (Yold-Yc) * Cos(Angle)