# regular tetrahedron,icosahedron and octahedron

This topic is 3352 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hello , I have to create a regular shape(tetrahedron,octahedron or icosahedron) around point (0,0,0) using only algorithms and math. For the tetrahedron i might figure it out by myself but for the rest (octahedron and icosahedron)there is lots of information on the internet and I'm not really sure where to look first or what to look for. Some algorithms,papers or code would be appreciated :), thanks , Raxvan.

##### Share on other sites
The octahedron is trivial: Its vertices are (1,0,0), (-1,0,0), (0,1,0), (0,-1,0), (0,0,1) and (0,0,-1).

The dodecahedron and the icosahedron are a bit trickier. One thing to notice is that the centers of the faces of an icosahedron are the vertices of a dodecahedron and conversely the centers of the faces of a dodecahedron are the vertices of an icosahedron.

##### Share on other sites
This post will be about simplices, like tetrahedra. I'll leave icosahedra for another post.

My favorite way to generate regular n-simplices (a tetrahedron is a 3-simplex) is to "move up one dimension and then project back down."

Example: How to generate vertices of an equilateral triangle in 2d? Well, it's easy in 3d: They are,
e1 = (1,0,0)
e2 = (0,1,0)
e3 = (0,0,1)
in the plane with normal (1,1,1). So all you need to do is compute the components of e1, e2, and e3 along elements of a basis orthogonal to (1,1,1).

How to generate such a basis? Two ideas. The first is basically Gram-Schmidt on e1,e2. The second, which is even cooler, is to observe that the basis for the discrete cosine transform is orthonormal and contains (1,1,...,1), so you can simply use these.

The idea for a 3-simplex (tetrahedron) is the same. Compute vertices in R^4:
e1 = (1,0,0,0)
e2 = (0,1,0,0)
e3 = (0,0,1,0)
e4 = (0,0,0,1)
and then project onto the plane in R^4 with normal (1,1,1,1) to move back down to R^3.

##### Share on other sites
For icosahedra... An icosahedron is generated by a system of 6 equiangular lines. Each line intersects the unit sphere at 2 points. This gives a total of 12 points, which are the vertices of the icosahedron. So finding the vertices of an icosahedron is the same as finding a system of 6 equiangular lines.

What you can do here is find 6 equiangular lines in R^6 -- the coordinate axes -- and then project them down to R^3 in a good way. Equivalently, find a way to project e1,...,e6 down to R^3 in a "good way."

What does "good way" mean?

I don't completely remember. :-\ Wikipedia has a little explanation here which is pretty cool, but I need more geometric intuition for it...

[Edited by - Emergent on September 9, 2009 5:10:37 PM]

##### Share on other sites
Quote:
 Original post by Dave EberlyPlatonic Solids

Thanks , i will use this because is it simple. Emergent's idea was interesting , but harder to understand.

1. 1
2. 2
Rutin
19
3. 3
4. 4
5. 5

• 9
• 9
• 9
• 14
• 12
• ### Forum Statistics

• Total Topics
633294
• Total Posts
3011241
• ### Who's Online (See full list)

There are no registered users currently online

×