如何将 0..1 输入转换为双曲线 0..1 输出

How to convert 0..1 input to a hyperbola 0..1 output

我有一个介于 0 和 1 之间的输入(含 0 和 1),它会产生线性结果。我需要将其转换为双曲线,结果也在 0 和 1 之间,包括 0 和 1。这应该首先产生一个快速上升的值,然后在最后缓慢增加到 1。

我正在 Swift 中对此进行编码,但实际上我正在寻找公式(或指针),但我不知道从哪里开始。

您可以将任何指数应用于 0 到 1 之间的值而不更改范围。所以你可能可以很容易地做一些这样的事情,例如通过对两个轴反转的曲线使用幂(或任何其他公式可能更接近你的确切需要):

0, 0.25, 0.5, 0.75 1

以 2 的指数为例:

0, 0.0625, 0.25, 0.5625, 1

反转曲线:

1, 1-0.0625, 1-0.25, 1-0.5625, 1-1

最后反转得到最终结果:

0, 0.4375, 0.75, 0.9375,  1