Java 反正切函数返回奇怪的值
在处理过程中,我试图设置精灵的方向和动量,方法是单击放置它的位置,然后释放鼠标以显示它应该移动的方向,0度直接向上。但是,atan函数返回奇怪的值,范围从大约30度到大约60度。我已经确定转换弧度/度数没有问题,但我仍然无法理解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;
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。另外,在你的计算中可能会被零除