XとY(originX、originY)の回転の中心がx、y、幅、高さのオブジェクトがあり、この中心点とタッチポイントの間の角度を次のように計算できました。
touchAngle = Math.toDegrees(Math.atan2(deltaY, deltaX));
これは非常にうまく機能します。
現在、角度が現在の角度よりも大きいかどうかを確認し、回転を追加し、小さい場合は回転を削除することで、オブジェクトをこのタッチポイントに向かって回転させようとしています。タッチポイントが0/360の境界を越えると、非常に大きな回転を行うことを意味する場合でも、オブジェクトが間違った方向に回転し始めるため、これは間違っていることを私は知っています。
タッチポイントまで最短距離で回転させるためのエレガントなソリューションは何でしょうか?
(Java、特にLibgdxを使用)
ありがとう