溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對python中 math模塊下 atan 和 atan2的區(qū)別詳解

發(fā)布時間:2020-08-27 05:23:05 來源:腳本之家 閱讀:581 作者:Hichenway 欄目:開發(fā)技術

atan 和 atan2 都是反正切函數(shù),返回的都是弧度

對于兩點形成的直線,兩點分別是 point(x1,y1) 和 point(x2,y2),其斜率對應角度的計算方法可以是:

angle = atan( (y2-y1)/(x2-x1) )

angle = atan2( y2-y1, x2-x1 )

因此可以看出 atan 和 atan2 的區(qū)別:

1、參數(shù)的個數(shù)不同;atan 為單個參數(shù),atan2為兩個參數(shù)

2、atan2 的優(yōu)點在于: 如果 x2-x1等于0 ,角度依然可以計算,但是atan函數(shù)則需要提前判斷,否則就會導致程序出錯;

結論: atan 和 atan2函數(shù),建議用 atan2函數(shù);

注意:1、兩者返回值都是弧度;2、atan2函數(shù)參數(shù)是y在前,x在后;3、需要先導入math庫

下面再根據(jù)幾個實例來看一下它們的用法和區(qū)別:

import math
a=math.atan(1)
b=math.atan2(1,1)
print(a,b)
>> 0.7853981633974483 0.7853981633974483

#垂直時
b=math.atan2(1,0)
print(b)
>> 1.5707963267948966

#弧度轉角度
b=math.atan2(1,0)
print(b/math.pi*180)
>> 90.0

以上這篇對python中 math模塊下 atan 和 atan2的區(qū)別詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI