Question submitted by (30 November 1999)
|Return to The Archives|
|Hi, im working on a 3d engine and im wondering how to go about creating vertexpoints for a Geosphere?, a mathimatical formula for it?|
These spheres are generated via a process of surface refinement.
You usually start off with a platonic solid (3DS used a tetrahedron) and subdivide each face once. Subdividing a triangle would mean splitting each edge of the triangle in half, adding a vertex in the middle of the edge. This gives you four new polygons where you used to have just one.
Once subdivided, the new vertices will most likely not align with the surface of the sphere. So to regain shape of the sphere, we create a vector from the center of the sphere to the new vertex. We then set the normal's length to the radius of the sphere and place the new vertex at that location.
Using different platonic solids results in different visual results:
By repeating the refinement process multiple times, you increase the resolution of the sphere:
You can find more information on platonic solids, modelling, and all kinds of cool stuff at Paul Bourke's page (which has recently moved): http://www.swin.edu.au/astronomy/pbourke/
Response provided by Paul Nettle
This article was originally an entry in flipCode's Fountain of Knowledge, an open Question and Answer column that no longer exists.