Smoothstep is a mathematical function that can smoothly interpolate between two values.

In [2]:
def smoothstep(value):
    return value * value * (3 - 2 * value)
In [3]:
resolution = 1000
x = [x / resolution for x in range(resolution)]
y = [smoothstep(x) for x in x]

_ = plt.plot(x, y)
Out:
<Figure size 720x480 with 1 Axes>
In [4]:
def smootherstep(value):
    return value * value * value * (value * (value * 6 - 15) + 10)
In [5]:
resolution = 1000
x = [x / resolution for x in range(resolution)]
y = [smootherstep(x) for x in x]

_ = plt.plot(x, y)
Out:
<Figure size 720x480 with 1 Axes>

Comparison

In [6]:
resolution = 10_000

x = [x / resolution for x in range(resolution)]
y = [smootherstep(x) for x in x]
_ = plt.plot(x, y, label="Smootherstep")

x = [x / resolution for x in range(resolution)]
y = [smoothstep(x) for x in x]
_ = plt.plot(x, y, label="Smoothstep")

_ = plt.legend()
Out:
<Figure size 720x480 with 1 Axes>