Campanus Sphere
I want to introduce a concept I came across the other day, one I had never heard of before, along with a few fantastic websites. The Campanus Sphere is essentially a rather crude spherical representation, the kind I’m used to seeing in (very old) computer games, and it also makes a nice nod to 80s disco culture. I also recall that in many older CAD software packages, spheres and sphere-related Mesh objects were represented as polyhedra using this method. However, I didn’t know it had a geometric name and a quite dedicated fan base. I got the historical information about this solid from this wonderful website. According to it:
This kind of polyhedra that are inscribed in a sphere was well know by Euclid. In proposition 17 of book XII Euclid shows how to construct a polyhedron sandwiched between two concentric spheres. During the Middle Ages, Campanus of Novara (1220-1296) wrote a very popular version of Euclid’s Elements. Campanus used this construction to describe a 72-faced polyhedron. This polyhedron was very popular during the Renaissance and was known as Campanus´ sphere. Leonardo da Vinci draw this polyhedron to Luca Pacioli’s book ‘De Divina Proportione’.

As I did more research, I saw that even more people were working on this solid. There was even information about it on Wolfram. But the most practical resource was on Moving Geometry, which I consider another legend. This explains how to derive these polyhedra in Rhino. Thanks to this very useful site, I came to understand how these polyhedra are derived via polygonal silhouettes. This next link provides a guide on how to produce these spheres using origami:
What initially seemed like a very boring and ordinary topic started to look genuinely fascinating when looking at the quality of the resources produced by the people who care about it. I wanted to join these people as well. I sat down at Grasshopper to try out some mischievous ideas that came to mind. Quite a few useful approaches can be developed in Grasshopper to make a “Septuaginta” (to use Luca Pacioli’s naming). Thinking about the methods that could be used to accomplish this made me realize once again what a wonderful geometry topic it is. In the end, the approach I chose was to go through polygons. When we rotate and copy a polygon in 3D around its own center, we can obtain the desired vertex set. Moreover, I figured we could generate different variations by playing with the number of sides of the polygon and experimenting with interesting designs by shifting and rotating the polygon.

You will see a rather rigid modeling approach in the Grasshopper code. After choosing the main polygon with 2n sides (some of which aren’t true Campanus spheres because they don’t have a point at the poles, but I left them alone anyway because they are still interesting), we select the polylines in one of their quadrants. We then calculate the internal central angle of that polygon using a horizontal edge. This part could have been done much more easily. After rotating the quadrant polyline by the angle we obtained, we acquired a series of faces via a loft operation. The rest is completed into a sphere using Array Polar and Mirror. Now you can produce your own disco ball.

The takeaway we can bring home from this experience is that there are still some very high-quality and old resources on the internet. You just have to do a bit of archaeology to reach them.





