四象限反正切函數(shù)
注意是(Y,X) 不是(X,Y)劣针。atan2(y,x)計(jì)算的值相當(dāng)于點(diǎn)(x,y)的角度值偶妖。
C 語言里 double atan2(double y,double x) 返回的是原點(diǎn)至點(diǎn)(x,y)的方位角亥揖,即與 x 軸的夾角烛亦。也可以理解為復(fù)數(shù) x+yi 的輻角坝咐。返回值的單位為弧度铃剔,取值范圍為(-pi,pi]撒桨。
atan2(y,x)的做法:當(dāng) x 的絕對(duì)值比 y 的絕對(duì)值大時(shí)使用 atan(y/x);反之使用 atan(x/y)键兜。這樣就保證了數(shù)值穩(wěn)定性凤类。
在數(shù)學(xué)坐標(biāo)系中,結(jié)果為正表示從 X 軸逆時(shí)針旋轉(zhuǎn)的角度普气,結(jié)果為負(fù)表示從 X 軸順時(shí)針旋轉(zhuǎn)的角度谜疤。