0

我在 Java 中有一个转换:

    AffineTransform transform = new AffineTransform();
    transform.translate(x, y);
    transform.rotate(Math.toRadians(rotation));
    transform.translate(-x, -y);

我在组成一个矩形的四个点上使用它。变换按预期围绕原点 (x, y) 旋转,但我希望最左边的点保持在原点 x 的位置,而最顶端的点保持在原点 y 的位置。

任何想法如何修改转换以实现这一目标?

4

1 回答 1

0

我通过搜索所有点来解决这个问题,找到最左边的点和最上面的点,然后用这些坐标偏移变换中的所有点。虽然这真的很混乱,所以如果有人碰巧有更好的解决方案,我会全力以赴。

于 2012-11-10T19:38:09.557 回答