常规的反正切(arctan)函数的值域在- π 2 \frac{\pi}{2} 2π~ π 2 \frac{\pi}{2} 2π之间,但常常我们需要得到整个坐标系的角度- π \pi π ~ π \pi π,这需要引入二维坐标中两个坐标的正负号,这就是arctan2(y,x)函数。这个函数本身非常容易理解,但是自己今天脑子不太好使,找到一些资料回忆一下,却发现现有的blog不够直观,所以想补充一下。
下面实验以python math的库为例,其他library应该大同小异。
code: math.atan2(y,x)*180/math.pi
(转为角度比较直观)
# | sgn(x) | sgn(y) | output |
---|---|---|---|
A | x>0 | y>0 | 45 |
B | x>0 | y<0 | -45 |
C | x<0 | y>0 | 135 |
D | x<0 | y<0 | -135 |