Better Spheres, Fewer Triangles

Gener­at­ing spheres through recur­sive subdi­vi­sion of icosa­he­drons

UV spheres are one of the easi­est and most comm­mon ways to gener­ate a sphere for computer graph­ics.

UV sphere generated by revolving a circle about an axis planar to itself
UV sphere gener­ated by revolv­ing a circle about an axis planar to itself

It has its charms: it looks kind of like a globe, with its clear longi­tu­di­nals and lati­tu­di­nals, it’s ridicu­lously easy to imag­ine and create, and it works well with UV texture mapping. Still, its uneven distri­b­u­tion of points can cause wasted texture reso­lu­tion as well as compu­ta­tion time at best, funny-look­ing bunch­ing of points near the “poles” at slightly worse, and disgust­ing visual arti­facts at worst due to having to render many sliv­ers of trian­gles often of widths less than a pixel.

A far better solu­tion is the geodesic sphere, created by divid­ing up the faces of a platonic solid and then project­ing the vertices onto a sphere*.

Icosa­he­dron after two iter­a­tions of subdi­vi­sion

To be completed…

*Of course, follow­ing this logic, you could make a spher­i­cal look­ing mesh by basi­cally taking any convex mesh and project­ing its points onto a sphere. But then its points wouldn’t really be even distrib­uted. That’s why we subdi­vide an icosa­he­dron.