3

2D変換をgcに適用したと仮定します。

  Transform trRotated = new Transform(display);
  trRotated.rotate(-90);
  gc.setTransform(trRotated);

座標系は反時計回りに回転します。X軸は上を指し、Y軸は右を指します。

Yが下を向き、Xが右を指すように、座標を処理したいとします。

たとえば、変換前の(2,3)である緑色の点の座標を入力したいと思います。また、変換を考慮する場合は、座標である(-3,2)に変換する必要があります。

質問: 座標を手動で変換する必要がありますか、それとも利用可能なものを使用して、自動的に変換を行う方法はありますtransformか?

ここに画像の説明を入力してください

4

1 に答える 1

0

必要な回転関数のコンテキストが何であるかわかりません。

ただし、四角形をシータ度で回転させる場合 (Math.toRadians(90) など) は、次を使用できます。

AffineTransform transform = new AffineTransform();
transform.rotate(theta, rect.getX() + rect.width/2, rect.getY() + rect.height/2);
g2.transform(transform);
于 2013-04-28T14:04:04.417 に答える