I need an icosphere with all edges the same length. Currently I generate one starting from an icosahedron and then linearly interpolate each triangle. All tutorials I could find used the same linear interpolation. Someone later suggested just using the icosphere from blender, which works, though also uses the linear interpolation...
So anyone has a good tutorial on how to make an icosphere and make sure all the sides are equal? (It would also be ok if you know a program which can make this and export it as a .obj or something.)
This is not possible to have an arbitrarily precise sphere from equilateral triangles. If you require equilateral triangles, the best you can get is the icosahedron (which you probably already have). The reason is called "angle defect":
The angle defect is 360 degrees the sum of vertex angles around a vertex. Any polyhedron must have a total vertex defect equal to 720 degrees:
- tetrahedron: 4*180 degrees
- octahedron: 6*120 degrees
- cube: 8*90 degrees
- icosahedron: 12*60 degrees
- dodecahedron: 20*36 degrees
If five equilateral triangles meet at a vertex, they accumulate 36 degrees of defect. If six equilateral triangles meet at a vertex, they contribute nothing to the defect.
If six equilateral triangles meet at a vertex, they must form either
- a plane or
- a fold (edge) or
- a saddle.
There is a polyhedron called pentakis icosahedron with 32 vertices but if you make it out of equilateral triangles, you'll get a non-convex polyhedron.
So, if you want an arbitrarily precise sphere, you need to allow different length edges so that the angle defect may distribute evenly across the surface. Equal sides with arbitrary precision are impossible.