Java-在Graphics2D中获取新的旋转点

Java-在Graphics2D中获取新的旋转点,java,rotation,2d,rendering,collision,Java,Rotation,2d,Rendering,Collision,我需要获得新的旋转点以了解对象的真实位置和尺寸,例如: 我的应用程序的上下文是渲染二维图形,其主要功能如下: protected void paintComponent(Graphics g) { ... g2d.rotate(Test.angle * Math.PI / 180, Test.hero, Test.heroY); g2d.drawImage(Main.hero, Test.hero - 15, Test.heroY -

我需要获得新的旋转点以了解对象的真实位置和尺寸,例如:

我的应用程序的上下文是渲染二维图形,其主要功能如下:

    protected void paintComponent(Graphics g) {
        ...

        g2d.rotate(Test.angle * Math.PI / 180, Test.hero, Test.heroY); 
        g2d.drawImage(Main.hero, Test.hero - 15, Test.heroY - 15, this);
        ...
图像绘制正确,但我无法获得新的点

double angle = ang * Math.PI / 180;
double sin = Math.sin(angle);
double cos = Math.cos(angle);       

double a = (centerX + ray) - x0;
double b = centerY - y0;
int xx = (int) (a * cos - b * -sin + x0);
int yy = (int) (a * -sin + b * cos + y0);

ang++;

它将围绕centerX和centerY从这些原点以+射线旋转一个点,代码已经从各个角度进行了测试和工作。

北美朋友们好,我发现了一个很酷的解决方案,然后在这里发布示例。无论如何,谢谢。但我仍然会继续为其他人的答案打开,记住。我正在开发解决方案,目前的结果非常好,但肯定需要改进。请不要关闭此线程,正如我已经说过的,我开发了令人满意的结果,但是我将发布一个有组织的响应,比一般算法更好,在业余时间我会发帖。