反正切函数返回奇怪的值

时间:2015-04-04 20:40:40

标签: java processing trigonometry

在Processing中,我试图通过单击放置它的位置来设置精灵的方向和动量,并释放鼠标以显示它应该移动的方向,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++;
  }
}

1 个答案:

答案 0 :(得分:0)

没关系,我找到了答案。另一种方法是在draw()中运行,它会根据ball []的数量更新ballCount变量,因此ballCount变量在mousePressed()和mouseReleased()之间会有所不同。