我有一个具有 x、y、宽度、高度、X 和 Y 旋转中心(originX,originY)的对象,并且已经成功地计算了这个中心点和触摸点之间的角度
touchAngle = Math.toDegrees(Math.atan2(deltaY, deltaX));
这很好用。
我现在正试图通过简单地检查角度是否大于其当前角度,添加一些旋转,如果它更小然后删除一些旋转,来将对象旋转到这个接触点。我知道这是错误的,因为当触摸点越过 0/360 边界时,对象开始以错误的方式旋转,即使这意味着进行非常大的旋转。
什么是使它旋转到触摸点的最短距离的优雅解决方案?
(使用 Java,特别是 Libgdx)
谢谢