If anyone is curious about applications - these can be used to approximate low-frequency components of a point's surroundings. They were used in Halo 3 to do real-time HDRI lighting and shadowing (see "Lighting and Material of Halo 3" from Siggraph 2008).<p>After the success of this method, there was a fairly long stretch of researchers looking for a better orthonormal basis (such as 2D Haar wavelents, as spherical harmonics is basically a Fourier Transform on a spherical basis). I think the pinnacle of this direction was Anisotropic Spherical Gaussians from 2013.<p>These days though, you'd at least use a neural net to learn a basis (or use a neural net to learn something else entirely). And of course, Gaussian Splats are the technique du jour for realtime relighting.
For those of you curious about WHY these shapes look like the do (e.g. "why does l=0, m=0 have a donut in the middle of two lobes?"), this video from Münster University finally gave me an intuitive understanding of how these shapes arise.<p><a href="https://youtu.be/Opufc3onVow" rel="nofollow">https://youtu.be/Opufc3onVow</a>
If you need to work on numerical computation with spherical harmonics, I’ve used this library with some success.<p><a href="https://github.com/SHTOOLS/SHTOOLS">https://github.com/SHTOOLS/SHTOOLS</a>
See also the “cubic harmonics”, which is an equivalent basis to spherical harmonics but they are real instead of complex, and also more natural to use in cubic crystals due to their symmetries.<p>I have also seen “triangular harmonics”, “zonal harmonics”, etc. in use in other materials.
Obligatory useful SH paper for 3d rendering: <a href="http://www.ppsloan.org/publications/StupidSH36.pdf" rel="nofollow">http://www.ppsloan.org/publications/StupidSH36.pdf</a><p>Also lots of other cool research around SH in rendering, e.g. the recent ZH3 paper.
TL;DR about spherical harmonics: It is what you use instead of Fourier transforms if what you transform is on the surface of a sphere.<p>My experience is from cosmology (CMB) where they are heavily used just like Fourier transforms, I think they are also used in meteorology.