尝试使对象在JavaFX中向鼠标旋转

时间:2019-11-15 12:14:11

标签: java javafx

我一直在尝试使用atan2函数向鼠标旋转一个对象(三角形),但是它似乎无法在一个方向上正确旋转。有什么想法吗?

Point p = MouseInfo.getPointerInfo().getLocation();
        double ydistance = p.y-triangle.getTranslateY();
        double xdistance = p.x-triangle.getTranslateX();
        double angle5 = Math.toDegrees(atan2(xdistance, ydistance));
        triangle.setRotate(angle5);

1 个答案:

答案 0 :(得分:0)

您已经颠倒了x和y

如您所料,atan2被定义为atan2(y,x)而不是atan2(x,y)。

请参阅https://www.geeksforgeeks.org/java-lang-math-atan2-java/

  

是弧度与弧度之间的逆时针角度,以弧度为单位   正X轴和点(x,y)。

还请注意,弧度0从正X轴开始,Y = 0(东)

enter image description here