【问题标题】:How to calculate points in a shape when shape is rotated旋转形状时如何计算形状中的点
【发布时间】:2014-04-03 04:29:38
【问题描述】:

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

这里有几个形状示例,其中包含我希望在形状旋转时能够计算的点。我在 0 度处拥有所有形状的所有 x/y 坐标。我正在构建一个 JavaScript 应用程序,所以如果有人在 JavaScript 中有任何功能,那就太好了,或者如果你可以将我引导到有一些资源的地方。

【问题讨论】:

    标签: javascript image math rotation coordinates


    【解决方案1】:

    要将点 (Xold,Yold) 绕中心点 (Xc, Yc) 逆时针旋转角度角度,可以使用复杂的affine transformation,由旋转中心到原点的平移、围绕原点的旋转和反向平移组成。结果公式:

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

    【讨论】:

      猜你喜欢
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 2017-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多