找出从当前旋转到目标旋转所需的最小旋转
Figure out smallest needed rotation to target rotation from current rotation
我有当前旋转(智能手机正在注视的位置)和我希望用户注视的目标角度。两者都在0 to 360
.
范围内
int current = 340;
int target = 45;
我怎样才能算出向左或向右旋转到目标角度所需的最小旋转量?简单地减去这些值会导致低效的轮换。
向右旋转应为正值,向左旋转应为负值。
用下面的一行代码解决了它:
int neededRotation = (int) (-1* ((currentDirection - calculateAngle(x, y) + 540) % 360 - 180));
我有当前旋转(智能手机正在注视的位置)和我希望用户注视的目标角度。两者都在0 to 360
.
int current = 340;
int target = 45;
我怎样才能算出向左或向右旋转到目标角度所需的最小旋转量?简单地减去这些值会导致低效的轮换。 向右旋转应为正值,向左旋转应为负值。
用下面的一行代码解决了它:
int neededRotation = (int) (-1* ((currentDirection - calculateAngle(x, y) + 540) % 360 - 180));