私はCanvasオブジェクト(線、頂点、三角形など)を作成していますが、それらの点を中心に回転を適用したいと思います。Javaでポイント周りのポリゴンを回転させる方法は?
点が地図上GeoPointに取り付けられるので、私はすべてのマップが回転している回転()メソッドを使用する場合、私は、キャンバスの回転()メソッドを使用することができない...
問題ですCanvasはPoint(int、int)を必要とし、回転を適用すると、cos関数とsin関数のためにdoubleが生成されます。だから私はすべての点に回転を適用すると、intに倍精度化をキャストするので、私はいくつかのグラフィカルな問題が発生します...
私は最高のソリューションを探しています。
ここに私の回転コード:
public Point rotatePoint(Point pt, Point center)
{
this.angle = ((this.angle/180)*Math.PI);
double cosAngle = Math.cos(this.angle);
double sinAngle = Math.sin(this.angle);
pt.x = center.x + (int) ((pt.x-center.x)*cosAngle-(pt.y-center.y)*sinAngle);
pt.y = center.y + (int) ((pt.x-center.x)*sinAngle+(pt.y-center.y)*cosAngle);
return pt;
}
[OK]を、あなたの応答を@izomorphius感謝、私は間違い:)コピーで行わを/修正するために自分の投稿を編集しましたペースト – Bibu