前幾天我們認識了函數、反函數還有arcsin
、arccos
兩個反三角函數,最後要介紹的就是我們的阿天卷arctan
!
「寐偲,阿天卷!!!」
讓我們開始吧!
跟前兩天講的arcsin
、arccos
一樣,arctan
函數就是tan
函數的反函數,前面的章節提到過tan
,給他一個角度,他就會回傳他所對應的直角三角形的對邊 / 鄰邊
,也可以理解為他的斜率,那他的反函數arctan
就會是給他一個斜率,然後他回傳一個對應的角度,一樣因為回傳的只會有一個值,所以範圍會限制在-π/2
~π/2
(含)之間。
tan
中好觀察的點(因為回傳只會落在-π/2
~π/2
之間,所以這邊都代這個範圍的角度進去):
tan0° = 0
tan45°(tanπ/2) = 1
tan-45°(tan-π/4) = -1
所以將上面的結果放進arctan
:
arctan0 = 0
arctan1 = π/4
arctan(-1) = -π/4
看看他的圖形吧!y = arctanx
:
暖身完了!來看看他怎麼用吧~
了解arctan
之後,Math.atan()
也差不多就這樣。
--MDN
也就是說Math.atan()
就是Math.tan()
的反函數!
Math.atan(x)
傳入一個數字。
他將回傳x
的反正切值(範圍會落在-π/2
~π/2
(含)之間)。
如果x
是Infinity
,回傳π/2
。
如果x
是-Infinity
,回傳-π/2
。
這個函式會回傳x
的反正切值,這個值會以角度表示且會介於-π/2
~π/2
(含)之間。
呼叫時執行以下步驟:
n
,值會是ToNumber(x)
的結果。n
是NaN
、+0
或-0
,回傳n
。n
是正無限大,回傳一個π/2
的近似值。n
是負無限大,回傳一個-π/2
的近似值。n
的反正切值近似值。如同我們圖形看到的,傳入的值在趨近於無限大跟負無限大時分別會收斂到π/2
跟-π/2
。
直接來用用看吧!
console.log(Math.atan(1) * 180 / Math.PI); //45
console.log(Math.atan(-1) * 180 / Math.PI); //-45
console.log(Math.atan(0) * 180 / Math.PI); //0
console.log(Math.atan(Math.sqrt(3)) * 180 / Math.PI); //59.99999999999999
放入√3
想得到60°,但還是會有一點點誤差,一定要注意喔!
今天就輕鬆一點吧!
當我們知道斜率要怎麼知道他所對應的角度呢?
寐偲,啊天卷!!
各位明天見。
參考資料:
MDN-Math.atan()
ECMAScript-Math.atan()