1. 程式人生 > 其它 >【計算幾何】atan2函式

【計算幾何】atan2函式

atan2函式

幅角

複數的模與輻角是複數三角形式表示的兩個基本元素,複數所對應的向量長度稱為複數的幅值,該向量與實軸正方向的夾角為複數的輻角。輻角的大小有無窮多,但是輻角主值唯一確定。利用複數的模和輻角,可以將複數表示成三角表示式和指數表示式,並可以和代數表示式之間互相轉化,以方便討論不同問題時的需要。

atan2函式

atan函式和atan2函式

同:兩者都可以用來求取反正切

所謂反正切就是通過正切值求取對應的弧度。

異:

  1. 傳入的引數不同
    • atan2傳入的是兩個浮點值
      • 函式模型:double atan2(double y, double x)
      • x-- 代表 x 軸座標的浮點值。
      • y-- 代表 y 軸座標的浮點值。
      • atan2函式返回的是原點至點(x,y)的方位角,即與 x 軸的夾角。也可以理解為複數 x+yi 的輻角。返回值的單位為弧度,取值範圍為\((-\pi,\pi])\)
    • atan傳入的是一個浮點值
      • 函式模型:double atan(double x);
      • x-- 代表正切值。
  2. atan2相對atan函式更加安全
    • 實際處理的時候,往往是將一個正切值給傳入到函式內,而正切值類似於斜率,當給出兩個點的座標去求斜率時(\(k=\frac{y_2-y_1}{x_2-x_1}\)),其中分母有可能為0,導致無法處理傳入的值,而atan2規避了這一錯誤。

其他

更優秀地獲取\(\pi\)值(0的反餘弦值為)

long double PI = 2*acos(0);