Transforming a primitive tetrahedron into a primitive icosahedron?

Posted by Djentleman on Game Development See other posts from Game Development or by Djentleman
Published on 2012-11-27T23:06:46Z Indexed on 2012/11/27 23:32 UTC
Read the original article Hit count: 282

Filed under:
|
|
|

I've created a tetrahedron by creating a BoundingBox and building the faces of the tetrahedron within the bounding box as follows (see image as well):

VertexPositionNormalTexture[] vertices = new VertexPositionNormalTexture[12];
BoundingBox box = new BoundingBox(new Vector3(-1f, 1f, 1f), new Vector3(1f, -1f, -1f));

vertices[0].Position = box.GetCorners()[0];
vertices[1].Position = box.GetCorners()[2];
vertices[2].Position = box.GetCorners()[7];

vertices[3].Position = box.GetCorners()[0];
vertices[4].Position = box.GetCorners()[5];
vertices[5].Position = box.GetCorners()[2];

vertices[6].Position = box.GetCorners()[5];
vertices[7].Position = box.GetCorners()[7];
vertices[8].Position = box.GetCorners()[2];

vertices[9].Position = box.GetCorners()[5];
vertices[10].Position = box.GetCorners()[0];
vertices[11].Position = box.GetCorners()[7];

enter image description here

What would I then have to do to transform this tetrahedron into an icosahedron? Similar to this image:

enter image description here

I understand the concept but applying it is another thing entirely for me.

© Game Development or respective owner

Related posts about XNA

Related posts about c#