This is documentation for Mathematica 5, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

Documentation / Mathematica / Demos / Notebooks /

Constructing a Buckyball with Mathematica

A combination of geometry and algebra from classical and modern mathematics

Michael Trott

Using Standard Mathematica Packages

This loads a standard Mathematica package that gives properties of polyhedra.

This creates a truncated icosahedron that forms the buckyball.

The buckyball has 32 faces.

Here is a picture of it.

This shows the buckyball with hexagonal and pentagonal faces colored differently — like a soccer ball.

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.

This simplifies the algebraic expressions for the vertices of the buckyball.

Here are the final expressions for the polygons that make up a buckyball (with Phi 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.

This produces a specification of the pyramid formed by the origin and a face of the buckyball.

This finds the vertices of one hexagonal face and one pentagonal one.


This finds the exact volume of the complete buckyball.

Here is the numerical value.

For a buckyball scaled so that its vertices are all a unit distance from the origin, the volume is then given by the following.

This means that a buckyball fills about 87% of its circumscribing sphere.

Surface Area

This finds the exact surface area of a buckyball.

For a buckyball scaled so that its vertices are all a unit distance from the origin, the area is then given by the following.

This means that a buckyball has about 94% of the surface area of its circumscribing sphere.