+
The spherical harmonics are the eigenfunctions of the Laplace operator $\Delta$ on the round 2-dimensional sphere. From this perspective, they are a generalization of the familiar functions $\sin(n x),\cos(nx)$ on the circle, which are eigenfunctions of the 1-dimensional Laplacian $\frac{d^2}{dx^2}$.
Unlike $\sin$ and $\cos$ which are determined by a single number (their frequency), spherical harmonics are parameterized by a pair of invariants $\ell,m$. For each non-negative integer $\ell$, there is a spherical harmonic $Y_{\ell m}$ for each integral $m\in[-\ell,\ell]$. (In fact, the vector space of linear combinations of spherical harmonics with a fixed $\ell$ realizes the $2\ell+1$-dimensional irreducible representation of $SO(3)$).
Among other things, spherical harmonics provide standing wave solutions to the wave equation on the sphere. Indeed, if $Y_{\ell m}$ is a spherical harmonic with eigenvalue $\lambda = \ell(\ell+1)$, then $u(t,\vec{p})=\sin(\sqrt{\lambda}t)Y_{\ell m}(\vec{p})$ solves the wave equation $\partial_t^2 u =\Delta u$ on $\mathbb{S}^2$.
This program plots the spherical harmonics in three ways, to help make sense of the various images available on the internet. The first plot, inspired by the standing wave solutions, depicts the spherical harmonic $Y_{\ell m}$ by preturbing the radius of a sphere by $\varepsilon \sin(\sqrt{\lambda} t)Y_{\ell m}$ for small $\varepsilon$. The second option, *modulus plot* draws a graph of $|Y_{\ell m}|$: precisely, for each $\vec{p}$ on the sphere we plot $|Y_{\ell, m}(\vec{p})|\vec{p}$ (and then color the surface to recall the original sign of $Y_{\ell m}$). The final option, a *polar plot* draws the graph of $p\mapsto Y_{\ell m}(\vec{p})\vec{p}$ directly.
Note: Right now, the program only draws the spherical harmonics for $m\geq 0$: this is only to make the slider control more intuitive, as harmonics for negative $m$ look qualitatively similar (but rotated) from harmonics for positive $m$.