Convolution Visualizer
Watch \(g(t-\tau)\) slide across \(f(\tau)\) as \(t\) grows. The shaded overlap area accumulates into \(h(t)=(f*g)(t)\).
The convolution of two causal functions \(f\) and \(g\) is defined as
\[(f*g)(t) \;=\; h(t) \;=\; \int_0^{t} f(\tau)\,g(t-\tau)\,d\tau, \qquad t\ge 0.\]
The four plots
- Top-left — \(f(\tau)\): the first function, fixed in the \(\tau\) domain.
- Top-right — \(g(t-\tau)\): the second function, flipped about \(\tau=0\) and then shifted right by \(t\). As \(t\) increases it slides to the right, sweeping over \(f\).
- Bottom-left — product \(f(\tau)\cdot g(t-\tau)\): the integrand. The green shaded area from \(0\) to \(t\) equals \(h(t)\).
- Bottom-right — \(h(t)\): the convolution, building up as \(t\) increases. The orange dot marks the current value.
Key ideas
- Convolution is commutative: \((f*g)(t) = (g*f)(t)\).
- In Laplace-transform terms: \(\mathcal{L}\{f*g\} = F(s)\cdot G(s)\). The convolution theorem converts multiplication in \(s\)-space back to a convolution integral in \(t\)-space.
- The flip-and-slide interpretation: \(g(t-\tau)\) is \(g(\tau)\) reflected about zero and then shifted by \(t\). As \(t\) grows, more of \(f\) is covered.
- Use the animation button to watch the process unfold automatically. Drag the \(t\) slider for manual control.
Numerical method
Each snapshot uses composite 10-point Gauss–Legendre quadrature on \([0,t]\), giving exponential convergence for smooth functions. \(h(t)\) is pre-computed on a fine grid to draw the full result curve.
\[(f*g)(t) \;=\; h(t) \;=\; \int_0^{t} f(\tau)\,g(t-\tau)\,d\tau\]
\(f(\tau)\) and
\(g(t-\tau)\) — overlap
\(f(\tau)\cdot g(t-\tau)\) — integrand
\(h(t) = (f * g)(t) = \displaystyle\int_0^t f(\tau)\,g(t-\tau)\,d\tau\) — convolution
Select an example to see the formula.