旋转变换并保持在范围内

时间:2012-08-18 23:30:44

标签: transformation

我在Java中进行了转换:

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

我在构成矩形的四个点上使用它。变换按照预期在原点(x,y)周围旋转,但我希望最左边的点保持原点x所在的位置,并且最高点保持原点y所在的位置。

任何想法如何修改转换来实现这个目标?

1 个答案:

答案 0 :(得分:0)

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