linearInOut: Linear Symmetric Motion
Mathematical Foundation
The linearInOut function maintains the same direct linear interpolation as linearIn, with . Linear motion remains constant regardless of acceleration or deceleration phases, resulting in uniform progression.
Live Editor
const fragment = () => { const w = 0.01 const t = iTime.fract() const y = linearInOut(t) const Y = linearInOut(uv.x) const a = vec3(0.1, 0.9, 0.3) const b = vec3(0.8, 0.9, 0.7) const c = a.mix(b, t).mul(uv.x.step(t)) const lines = mmin2(smoothstep(0, w, uv.mod(0.1).min(uv.sub(vec2(t, y)).abs()))) const curve = stroke(uv.y.sub(Y), 0, w).mul(c) const color = lines.oneMinus().mul(0.2).add(curve) return vec4(color, 1) }