与当前描述相反,它应该对所有 y 保持 y == tan(atan(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() 的反函数,这意味着 $num == tan(atan($num))
适用于 atan() 域中的每个 num
值。
num
要处理的参数
num
的反正切,以弧度表示。
与当前描述相反,它应该对所有 y 保持 y == tan(atan(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 之间