PHP Conference Japan 2024

atan

(PHP 4, PHP 5, PHP 7, PHP 8)

atan反正切

說明

atan(浮點數 $num): 浮點數

傳回 num 的反正切值(以弧度為單位)。atan()tan() 的反函式,這表示對於 atan() 定義域中的每個 num 值,$num == tan(atan($num)) 均成立。

參數

num

要處理的參數

傳回值

num 的反正切值(以弧度為單位)。

參見

新增註記

使用者貢獻的註記 3 則註記

11
匿名
10 年前
與目前的描述相反,y == tan(atan(y)) 應該適用於所有 y 值。
然而,x == atan(tan(x)) 僅適用於 atan 範圍內的 x 值,也就是 -pi/2 < x < pi/2 的 x 值。

當然,這些等式會受到精度的限制。在我的機器上
tan(atan(1000)) 傳回 1000.0000000001。
atan(tan(0)) 傳回 0(正確)。
atan(tan(M_PI)) 傳回 -1.2246467991474E-16 而不是 0。
1
darren_wheatley at hotmail dot com
21 年前
反正切曲線操作。

我使用這個公式在遊戲中隨著 x 的增加,讓 y 先增加後遞減。

例如:糧食產量(輸出)是 y。糧食研究是 x。

您對 x 投入的研究越多,產量就越多,但是超過某個點之後,回報就會減少。

y = atan(x - pi()) + pi()/2;

+ pi()/2 將其沿 y 軸向上移動,因此如果您希望它從更高的位置開始,可以增加更多。

x - pi() 將其向右移動,因此您可以減去更多以使其移動更多。

如果您希望沿 y 軸拉伸,請將其更改為 2 * atan( ...... )

不知道它有多有用... 但它就在那裡。

Daz
0
joelperr at kiwi-interactif dot com
18 年前
要獲得線的方向,最好使用 <? atan2((y2-y1)/(x2-x1)) ?> 函數,因為一般的 atan 函數只會返回半平面中的參數,例如,如果 y2-y1 和 x2-x1 為負,atan 將給您一個小於 90 度的角度測量值,而實際上它應該在 180 度到 270 度之間
To Top