Java 反正切函数返回奇怪的值

Java 反正切函数返回奇怪的值,java,processing,trigonometry,Java,Processing,Trigonometry,在处理过程中,我试图设置精灵的方向和动量,方法是单击放置它的位置,然后释放鼠标以显示它应该移动的方向,0度直接向上。但是,atan函数返回奇怪的值,范围从大约30度到大约60度。我已经确定转换弧度/度数没有问题,但我仍然无法理解 void mousePressed(){ if (ballCount<limit){ ballX[ballCount]=mouseX; ballY[ballCount]=mouseY; ball[ballCount]=true;

在处理过程中,我试图设置精灵的方向和动量,方法是单击放置它的位置,然后释放鼠标以显示它应该移动的方向,0度直接向上。但是,atan函数返回奇怪的值,范围从大约30度到大约60度。我已经确定转换弧度/度数没有问题,但我仍然无法理解

void mousePressed(){
  if (ballCount<limit){
    ballX[ballCount]=mouseX;
    ballY[ballCount]=mouseY;
    ball[ballCount]=true;
    ballSize[ballCount]=currentSize;
  }
}

void mouseReleased(){
  if (ballCount<limit){ //This next line is the one I'm having problems with
    ballDir[ballCount]=atan((ballX[ballCount]-mouseX)/(ballY[ballCount]-mouseY));
    println(degrees((ballDir[ballCount])));

    ballCount++;
  }
}

没关系,我找到了答案。在draw中运行了一种不同的方法,该方法将根据为真的球数[]更新ballCount变量,因此在mousePressed和MouseRelease之间,ballCount变量将有所不同。

使用atan2。另外,在你的计算中可能会被零除