Java 为什么它只在90和-90之间旋转?

Java 为什么它只在90和-90之间旋转?,java,math,javafx,rectangles,scene,Java,Math,Javafx,Rectangles,Scene,在这段代码中,矩形始终面向光标,一切都很好。 但是,有一个问题在执行代码时可能不可见。 发生的情况是,它只在90和-90之间旋转。 如果我不加任何东西就好了。但是当我用两种颜色给它上色时,让我们说红色和蓝色 如果我将光标从右侧移到矩形旁边,它将从红色的一侧面向光标 但在另一侧移动时,它会从蓝色一侧面向光标 double centerX = Rectangle.getX() + 0.5 * Rectangle.getWidth(); double centerY = Rectangle.getY(

在这段代码中,矩形始终面向光标,一切都很好。 但是,有一个问题在执行代码时可能不可见。 发生的情况是,它只在90和-90之间旋转。 如果我不加任何东西就好了。但是当我用两种颜色给它上色时,让我们说红色和蓝色 如果我将光标从右侧移到矩形旁边,它将从红色的一侧面向光标 但在另一侧移动时,它会从蓝色一侧面向光标

double centerX = Rectangle.getX() + 0.5 * Rectangle.getWidth();
double centerY = Rectangle.getY() + 0.5 * Rectangle.getHeight();
Rectangle.setRotate(180 * Math.atan((e.getY() - centerY)/(e.getX() - centerX()));
}```
替换

Math.atan((e.getY() - centerY)/(e.getX() - centerX())

Math.atan2((e.getY() - centerY), (e.getX() - centerX())