與目前的描述相反,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。
(PHP 4, PHP 5, PHP 7, PHP 8)
atan — 反正切
傳回 num
的反正切值(以弧度為單位)。atan() 是 tan() 的反函式,這表示對於 atan() 定義域中的每個 num
值,$num == tan(atan($num))
均成立。
num
要處理的參數
num
的反正切值(以弧度為單位)。
與目前的描述相反,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。
反正切曲線操作。
我使用這個公式在遊戲中隨著 x 的增加,讓 y 先增加後遞減。
例如:糧食產量(輸出)是 y。糧食研究是 x。
您對 x 投入的研究越多,產量就越多,但是超過某個點之後,回報就會減少。
y = atan(x - pi()) + pi()/2;
+ pi()/2 將其沿 y 軸向上移動,因此如果您希望它從更高的位置開始,可以增加更多。
x - pi() 將其向右移動,因此您可以減去更多以使其移動更多。
如果您希望沿 y 軸拉伸,請將其更改為 2 * atan( ...... )
不知道它有多有用... 但它就在那裡。
Daz
要獲得線的方向,最好使用 <? atan2((y2-y1)/(x2-x1)) ?> 函數,因為一般的 atan 函數只會返回半平面中的參數,例如,如果 y2-y1 和 x2-x1 為負,atan 將給您一個小於 90 度的角度測量值,而實際上它應該在 180 度到 270 度之間