在atan2中,输出为:-pi <atan2(y,x) <pi
在atan中,输出为:-pi/2 <atan(y/x) & lt;pi/2 //it dose NOT considered the quarter. .
如果你想获得0和2*pi之间的方向(就像高中数学一样),我们需要使用atan2,对于负值,添加2*pi以获得0和2*pi之间的最终结果
下面是Java源代码来解释清楚:
System.out.println(Math.atan2(1,1)); //pi/4 in the 1st quarter
System.out.println(Math.atan2(1,-1)); //(pi/4)+(pi/2)=3*(pi/4) in the 2nd quarter
System.out.println(Math.atan2(-1,-1 ));//-3*(pi/4) and it is less than 0.
System.out.println(Math.atan2(-1,-1)+2*Math.PI); //5(pi/4) in the 3rd quarter
System.out.println(Math.atan2(-1,1 ));//-pi/4 and it is less than 0.
System.out.println(Math.atan2(-1,1)+2*Math.PI); //7*(pi/4) in the 4th quarter
System.out.println(Math.atan(1 ));//pi/4
System.out.println(Math.atan(-1 ));//-pi/4