Constructing a Buckyball with Mathematica
A combination of geometry and algebra from classical and modern mathematics
Using Standard Mathematica Packages
Construction from First Principles
Instead of using existing polyhedron definitions from standard Mathematica packages, we can use basic algebra operations in Mathematica to construct a buckyball from first principles. One advantage of this is that we can get all the coordinates in the buckyball exactly, rather than as numerical approximations.
We start with the construction of an icosahedron. The vertices of an icosahedron centered at the origin are given by the vertices of three mutually perpendicular rectangles with aspect ratio equal to GoldenRatio. Here this construction.
These are the 12 vertices of the icosahedron.
Let us construct the edges of an icosahedron next. This finds exact expressions for all the distances between pairs of vertices.
Here are numerical approximations.
The edges of the icosahedron are formed by all pairs of vertices with distance 2.
The icosahedron has 30 edges.
We obtain the 20 faces of the icosahedron by choosing all triples of edges that have exactly three points in common.
Now we can construct the buckyball.
We obtain the hexagonal faces by truncating the vertices of the 20 triangular faces. The function TruncatePolygon truncates a polygon by the factor f.
The pentagonal faces are obtained by first constructing the pentagonal pyramid formed at any vertex (this is done by the function VertexCone) and then truncating this pyramid (this is done by the function TruncateCone) so that a pentagonal face results.
So we have finally the following list of polygons (both hexagons and pentagons) that make up the buckyball.
Here is a picture of the resulting object.
Here are the final expressions for the polygons that make up a buckyball (with being used in the output to denote GoldenRatio).
Computing Volume and Area
Having derived exact formulas for the coordinates of the vertices of a buckyball, we can now do exact computations of such quantities as the volume and surface area of the object.