Android アプリに次のようなメソッドがあります。
//get point after rotation
public static PointF getRotatedPoint(PointF pt,PointF center, float degrees)
{
double angleInRadians = degrees * (Math.PI / 180);
pt.x = (float) (Math.cos(angleInRadians) * (pt.x-center.x) - Math.sin(angleInRadians) * (pt.y-center.y) + center.x);
pt.y = (float) (Math.sin(angleInRadians) * (pt.x-center.x) + Math.cos(angleInRadians) * (pt.y-center.y) + center.y);
return pt;
}
45度回転させた長方形があります。回転した長方形の任意の点に触れると、長方形が回転していない場合に点の座標を取得したいタッチ点が得られます。したがって、度数の引数に -45 を渡します。これが私がそれを呼び出す方法です:
getRotatedPoint(touchedPoint, centerOfRectangle,-45);
回転する前に四角形にポイントを描画すると、回転した四角形に触れた位置に近い結果が得られますが、かなり大きな違いがあります。
これが私の問題を説明するための写真です:
これは私の数学の問題かもしれないと思うので、どんな答えでも大歓迎です。