Can you model a sphere from identical equilateral triangles?

I know a geodesic sphere is pretty much what I’m referring to in the title, but I’m not sure if it’s possible to have all triangles be identical. I’m not too familiar with the details Buckminster Fuller’s work or geodesic geometry.

However, if this is possible, is there an easy way to go about it in Rhino?

1 Like

i believe you are looking for something like a icosahedron, check dales plugin and use the command MeshIcoSphere to create a triangular face based sphere.

Yes, Dales’ plugin is the way to go here.

An icosphere will not have all triangles identical though. You’ll end up with two different triangle shapes, one of which is equilateral.


This is what I was wondering. So even on a structure like the geodesic sphere pavilion at the Montreal expo, that’s composed of two different triangle shapes?

the MeshIcoSphere command set to refinement 0 produces still a regular icosahedron with equilateral triangles. i believe this is the maximum for absolute identical equilateral triangles.

Oh! That’s interesting. Thanks Geemix. I’ll have to check that out.

That depends on the amount of subdivisions: The more subdivisions, the higher the geodesic ”frequency”, the more different triangle types.

Edit: on a side note, structures made from equilateral triangles are also called Lobel frames.

The only equilateral triangulations of the sphere with their vertices lying on the sphere are the tetrahedron, octahedron and icosahedron.

One fun fact - if you look at a vertex of one of these shapes and measure how much short of 360° the surrounding angles are, then add up these ‘angle defects’ for all the vertices, the total always comes to 720°.
(for example, the icosahedron has 12 vertices, each of which is surrounded by 5 equilateral triangles - so 60° short of a full turn. 12*60=720)
In fact, this rule will hold true for any closed polyhedron or mesh with planar faces which has genus 0 (meaning it doesn’t have any ‘handles’ like a torus). Even complex shapes with thousands of faces.

When you subdivide a mesh, this total angle defect stays the same - it just gets distributed over more vertices, so each individual vertex gets smoother and less spiky.
You can’t cover the sphere with triangles without having some vertices which have less than 6 triangles around them. As you subdivide, these irregular vertices remain, and the only way they can become less spiky is by spreading some of their angle defect into the surrounding vertices, meaning the surrounding triangles are no longer equilateral.
The more you subdivide, the smoother the surface gets - as the number of subdivision steps goes to infinity, the surrounding angles of the 12 valence 5 vertices tend towards 72° - ie locally flat.


Thank you for the informative reply!

Is there a reason or a rule as to why you can only have up to an icosheadron with equilateral triangles? It seems like it would scale and you could go beyond that.

One reason I’m asking is because in Kangaroo, I was trying to find a way to model a mesh sphere with edges as equal lengths as possible (for self-collision spheres). I know in the past, you suggested subdividing an icosheadron which still may be the fastest and easiest method. Do you know a good method to acheiving a shape that’s close to a sphere but with equilateral triangles?

It’s reasonable to ask why we can’t have more faces.
20 is definitely as high as we can go though.
The Platonic solids are the only regular tilings of the sphere. If we are only interested in triangulations, we can ignore the cube and dodecahedron.
For it to be regular, each vertex needs to be surrounded by the same number of faces.

tetrahedron has 3 equilateral triangles around each vertex,
octahedron has 4
icosahedron has 5

Trying to continue this pattern - if you put 6 equilateral triangles around a vertex, that makes 360°, so there is no angle defect, and therefore no Gaussian curvature - it is what we call intrinsically flat, and there is no way to cover a sphere with such vertices.
Another rule that any mesh with the topology of a sphere has to follow is:
(number of faces)-(number of edges)+(number of vertices)=2
If each vertex had 6 triangles around it, there would be no way to meet this condition.

It is actually possible to make a surface with more than 20 faces, all equilateral triangles and the topology of the sphere, but by giving up the properties of smoothness, vertices lying on the sphere surface, and regularity:

This has a mix of valence 5,6 and 7 vertices. (I generated it by remeshing a sphere, then equalizing the edge lengths, keeping the vertices as close to the original sphere as possible)

It could be interesting to try and find some more symmetrical and nicer looking ‘crinkly’ triangulated spheres like this.


Here’s a version with some more structured crinkling:


The issue with going from 5 to 6 faces at a vertices makes sense. for the explanation!

These models are interesting! I’m guessing you’re using a equalize edge lengths component while pulling the vertices to the original sphere, and a mesh edge length component is needed as well.

Yes - equalizing edge lengths, and also equalizing the distances from each vertex to a central fixed vertex.
To initiate the crumpling in a symmetrical way, I applied a small twist to the 5 vertices surrounding each of the valence 5 points. As usual when I want to enforce a hard constraint, I start with the edge length equalization at a moderate strength, then increase it with the slider to enforce it strongly.
You can get it to crumple differently depending how you ramp up this strength - increasing it gradually will give different shapes to increasing quickly or sliding it up and down: (21.8 KB)


I’ve been interested in crumpling geometry in Kangaroo lately, so I actually find the first example the most interesting. But seeing the solution to achieve the more uniform sphere’s is helpful as well.