Everyone should have had the pleasure of some geometrical construction toy.
"Tinkertoy" ™ is a very familiar name; and I fondly remember a box of rods, wheels, and balls called
"Makit Toy."
Now, there is a new member of the clan, with some surprising mathematical depth, called
** Zome**. The manufacturer's web site is
http://www.zometool.com.

Tinkertoy ™ Construction Set is a registered trademark of Hasbro Inc.

Makit Toy is marketed by Schylling Associates Inc.

Zome, Zome System, and Zometool are trademarks of Zometool, Inc.

On a first look at a Zome kit, it seems simple.
There are just two kinds of parts: round balls, called **nodes**, and straight rods,
called **struts**.
But this is a subtle and fertile simplicity.

Let us examine a node. It appears to consist mostly of holes. To begin with, it is hollow. And the hollowed-out center is open to the outside through dozens of polygonal holes. These holes are of three kinds: triangles, rectangles, and pentagons. How many? The 12 pentagons are the most easily counted. They have 12×5 = 60 sides, which are the short sides of the rectangles, so there are 60÷2 = 30 rectangles. The 60 corners of the pentagons are shared with the triangles, so there are 60÷3 = 20 triangles.

The pentagons are disposed like the faces of a *dodecahedron*, and the triangles like the faces of an
*icosahedron*.
If each rectangle was enclosed in a lozenge (Figure 1), the lozenges would make a
*rhombic triacontahedron* (also coming to be known as "Kepler's solid").
Clearly, we are in a territory rich in three-dimensional geometry.

Now for the struts. There are many varieties of them; the basic set are colored red, yellow, and blue. (Of green struts, more later.) The red struts have five-sided shafts, the yellow three-sided, and the blue ones rectangular. The shapes of the struts match those of the openings on a node, and indeed the ends of each rod are shaped so that it can be snapped into the matching holes of a node. When I do this, I hear, or feel, a satisfying little "snick." The fit is snug—these pieces of plastic have been well manufactured.

I notice a strange thing: a red or yellow strut has a twist halfway along its length. If I hold one up so that its cross-section at the right end has a point upward, then the cross section at the left end has a point downward. Why is this, and why are the blue struts not twisted? When I start putting nodes and struts together, the reason for the twist becomes apparent. Notice that two pentagonal holes on a node that are opposite to each other are oppositely aligned. The same is true for the triangular holes, but it is not true for the rectangular ones. So, the twists that are present in the three-sided and five-sided struts, but not in the rectangular ones, make all the nodes in a structure line up the same way.

In the smaller Zome kits, there are three lengths of each color of strut—short, medium, and long. The lengths are not arbitrary. The Zome website reveals that in the red, yellow, and blue families, the ratios of medium to short and of long to medium are the golden ratio. The ratios between the three families are also defined. If the short blue strut is taken a the unit, then the length of a short yellow strut is cos 30°, and that of a short red strut is cos 18°. There are reasons for these choices.

Quite a lot. With nodes and blue struts, I can make many plane figures. I can put blue struts in a node at right angles, and make squares and rectangles. I can also make equilateral triangles and hexagons. When I hold up a node with a pentagonal opening uppermost, I see, running around its equator, a zigzag row of 10 rectangular holes. Blue struts in these holes make a wheel with 10 equally spaced spokes, so I can get angles that are multiples of 36°. With short and medium blue struts I can make a triangle with angles of 36°, 72°, and 72°, and another with angles of 36°, 36°, and 108°. Regular pentagons and pentagrams are easy.

Let me venture into three dimensions, still using only blue struts. I can make cubes, dodecahedrons, and icosahedrons, and the stellations of the dodecahedron.

If I add in the red and yellow struts, then I have astonishingly many choices. The pieces of this kit work together very well. It is as if the struts put the nodes in just the right places for them to fit together with other struts. There seem to be implausibly many coincidences.

Relative to one node, the other nodes in a Zome structure are located at certain positions in space, and it seems
that the Zome system has favorite positions which are easily reached.
The displacement along any Zome strut is a vector, and every position that a node can have is at the end of a sum
of a combination of these vectors.
We will call these sums **Zome vectors.**

The "live" figure on this web page is a small program, which displays three-dimensional scenes, interactively.
There is a popup menu, with which one can select one of several scenes to view.
With the mouse, you can select one of the nodes, and drag it to rotate the whole scene about its center.
(In Scene F, it is the colored spots that can be selected and dragged.)
There are two more controls.
The button labeled **Reset** brings the scene back to its original position.
The check box, labeled **Show axes**, makes three short, mutually perpendicular, lines visible at
the center of the scene; these will be useful when we try to figure out the coordinates of nodes.

If I make a rectangle using short and medium blue struts, then I can insert diagonal bracing, using two short reds. These just happen to be half the length of the diagonal (allowing for the diameter of a node). I can insert the other diagonal as well. The five-sided holes just happen to be at the correct angles for this. Figure 2[A], which is "live," gives a slightly simplified representation; here, the "A" in brackets means that "A" should be selected on the popup menu.

If you have any trouble seeing this figure, or getting it to perform, please refer to Applet Problems.

An interesting construction combines three such rectangles in perpendicular planes. Figure 2[B] shows this. In this figure, some of the symmetry of Zome becomes visible. The figure can be reflected in the plane of one of those rectangles. If you look closely at a node, you will see that the node itself has this symmetry, so that any structure built with a Zome kit could be reflected thus into another possible structure. These three reflections give us 2×2×2 = 8 positions from 1. There is also a three-fold symmetry; you can rotate one of these planes into another, the second into the third, and the third into the first. This gives us a total of 8×3 = 24 positions from one. We shall take advantage of this.

We will find the positions of nodes in any possible Zome structure. The coordinate axes were chosen to make some of the Zome symmetries simple. Each of the reflections in a plane amounts to multiplying a particular coordinate (first, second, or third) by -1. A three-fold symmetry can be expressed in coordinates by shifting a coordinate from the beginning of the list to the end. This is sometimes called "cyclical transposition."

We need to fix a unit of length.
I think it is convenient to use *one half* of the length of a short blue strut.
The rectangle in Figure 2[A] lies in the XY plane, and the
centers of the corner nodes are at

( ±τ, ±1, 0).

The corner nodes in Figure 3 have these coordinates:

( ±τ, ±1, 0),

(0, ±τ, ±1),

(±1, 0, ±τ).

These are also the components of the Zome vectors corresponding to the short red struts. The length of the short red struts is, by Pythagoras, √(τ² + 1²) = √(τ+ 2), so the ratio of the lengths of the short red strut to the short blue one is ½√(τ+ 2). It can be checked that this is cos 18° as claimed.

The vectors along blue struts are differences between those along red struts. The coordinate system we chose makes it convenient to consider the blue struts in the coordinate planes separately from those that are not. A typical short blue strut in a coordinate plane has the vector

(1, 0, 0) – (–1, 0, 0) = (2, 0, 0).

A typical short blue strut that is not in a coordinate plane has the vector

(τ, 1, 0) – (0, τ, 1) = (τ, –τ+1, -1).

We can check that this vector has the length 2, as we would expect. so we have two prototypes for the vectors of short blue struts:

(2, 0, 0) |

(τ, –τ+1, -1) |

Sign changes and cyclic transposition give 6 vectors from the first prototype and 24 from the other, for a total of 30.

The vector for a long yellow strut is the sum of vectors for three short red struts; Figure 2[C] demonstrates this. The three short red struts could have these vectors:

(τ 1, 0) |

(0, τ 1) |

(1, 0, τ), |

so a long yellow strut might have the vector

(τ+1, τ+1, τ+1).

Or the three short red struts could be a set like

(τ, 1, 0) |

(τ, –1, 0) |

(1, 0, τ), |

which gives a long yellow strut with the vector

(2τ+1, 0, τ).

The vectors for the short yellow struts can be found by dividing by τ². So, prototypes for the vectors of short yellow struts are

(1, 1, 1) |

(τ, 0, τ–1). |

Sign changes and cyclical transpositions give 8 vectors from the first prototype and 12 from the second, for a total of 20. Note that the short yellow struts have length √3 = 2 cos 30°, as stated.

mτ + n | m′τ + n′ | m″τ + n″ | ||

Red | Short | τ | 1 | 0 |

Medium | τ+1 | τ | 0 | |

Long | 2τ+1 | τ+1 | 0 | |

Yellow | Short | 1 | 1 | 1 |

τ | 0 | τ-1 | ||

Medium | τ | τ | τ | |

τ+1 | 0 | 1 | ||

Long | τ+1 | τ+1 | τ+1 | |

2τ+1 | 0 | τ | ||

Blue | Short | 2 | 0 | 0 |

τ | τ–1 | 1 | ||

Medium | 2τ | 0 | 0 | |

τ+1 | 1 | τ | ||

Long | 2τ+2 | 0 | 0 | |

2τ+1 | τ | τ+1 |

Table 1 displays prototypes for the vectors of all the basic red, yellow, and blue struts.
The Zome vectors are surprisingly simple: in the chosen coordinate system, their components are all of the form
mτ + n where *m* and *n* are integers.
This is true for the struts, and so in must be true for any combination of struts; that is, for any Zome vector.

Zome vectors are a dense set in three-dimensional space; but they are derived from a discrete set in six-dimensional space, namely the vectors with integer components

(m, n, m′, n′, m″, n″)

by this projection:

(m, n, m′, n′, m″, n″) →
(mτ+n, m′τ+n′, m″τ+n″).

I think that this discreteness accounts for the richness of coincidences in Zome constructions—there are really few Zome vectors that can be reached by combining a small number of struts, and so many such combinations must lead to the same position.

But there is more to it.

mτ + n | m′τ + n′ | m″τ + n″ | ||||||

n | m | n′ | m′ | n″ | m″ | |||

Red | Short | 0 | 1 | 1 | 0 | 0 | 0 | E |

Medium | 1 | 1 | 0 | 1 | 0 | 0 | O | |

Long | 1 | 0 | 1 | 1 | 0 | 0 | O | |

Yellow | Short | 1 | 0 | 1 | 0 | 1 | 0 | O |

0 | 1 | 0 | 0 | 1 | 1 | O | ||

Medium | 1 | 1 | 0 | 1 | 0 | 0 | O | |

1 | 1 | 0 | 0 | 1 | 0 | O | ||

Long | 1 | 1 | 1 | 1 | 1 | 1 | E | |

1 | 0 | 0 | 0 | 0 | 1 | E | ||

Blue | Short | 0 | 0 | 0 | 0 | 0 | 0 | E |

0 | 1 | 1 | 1 | 1 | 0 | E | ||

Medium | 0 | 0 | 0 | 0 | 0 | 0 | E | |

1 | 1 | 1 | 0 | 0 | 1 | E | ||

Long | 0 | 0 | 0 | 0 | 0 | 0 | E | |

1 | 0 | 0 | 1 | 1 | 1 | E |

Every Zome vector is of the form
(mτ+n, m′τ+n′, m″τ+n″)
where the m's and n's are integers.
For a mathematician, it is almost a spinal reflex to ask, "and the converse? Is every vector of this form a Zome
vector?"
Surprisingly, it is not.
Table 2 displays the parity of the integers m, n, etc. for the prototypes of Zome strut
vectors.
(For instance, if mτ+n = τ then *n* is even, and represented by
*0*, whereas *τ* is odd, and represented by *1*.)
I have put the n's before the corresponding m's in this table, to make it easier to see its curious property:
in every row, the parities of
m+n′,
m′+n″, and
m″+n are the same.
This is true for the prototypes; and therefore it is true for the vectors of all the basic struts, because change
of sign does not affect parities at all, and cyclical transposition does not effect this "curious property."
The parity of those combinations of coefficients may be odd or even; it is indicated in the last column of Table 2.

The set of six-dimensional vectors with integer components is an example of what is sometimes called a
*lattice*.
The six-dimensional vectors that can generate Zome vectors comprise a sublattice, of index 4; loosely speaking,
it contains one fourth of the vectors in the larger lattice. Let us call it the "Zome lattice."
Every Zome position is generated by a member of the Zome lattice.
I am inclined to think that this fact helps Zome constructions to find more happy "coincidences."

Vectors in the Zome lattice can be classified further, into those for which m+n′, m′+n″, and m″+n are all even, and those for which these expressions are all odd. Let us call these the "E class" and the "O class." A Zome position is an "E position" or an "O position" depending on whether it is generated by a six-dimensional integer vector in the E or the O class.

A vector in the E class will join two E positions, or two O positions. A vector in the O class will join an E position with an O position. Referring to Table 2, we see that a construction with short red struts, long yellow struts, or blue struts of any length will have all its nodes at E positions.

The manufacturers of Zome have introduced new kinds of struts. To me, the green struts are the most interesting. The shaft of a green strut has a rhombic cross section; at each end, there is a sort of foot. The foot is offset from the shaft, and its sole is not quite perpendicular to the shaft. The foot is shaped to fit into a pentagonal opening on a node. Because of the angle of the sole, there are 5 different ways that a Green strut can go into each pentagonal opening; so there are 60 green zome directions, to say nothing of the different lengths.

One can do a lot with green struts. One can make a regular tetrahedron or a regular octahedron. One can inscribe an icosahedron inside an octahedron (Figure 2[D]), or five tetrahedra inside a dodecahedron (Figure 2[E]).

Or one can try something simple, like a right isosceles triangle using green and blue struts. In this way one finds that green struts are supplied in the lengths shown in Table 3. There are green struts which can be the legs of such triangles with blue hypotenuses—short, medium, and long; I will call these the "single" green struts. There are also green struts which can be the hypotenuses of triangles with short or medium blue struts as legs; these I call the "short double" and "medium double" lengths. Finally, there is a length which is the difference between a medium double strut and a short double strut; this must be 1/τ times as long as a short double strut, so I call it "very short double." All these lengths are summarized in Table 3. Note that "short single" is slightly shorter than "very short double."

To find the components of green strut vectors, one can begin with the observation that a short double green strut is the hypotenuse of a right isosceles triangle where the legs are short blue struts. Must we slog through 60 such combinations? Not if we take advantage of the 24-fold symmetry of zome coordinates that we already know about.

The 30 short blue strut vectors can be collected into 5 sets of 6, each of which lies on a set of three mutually perpendicular axes. One such set, obviously, is this:

(2, 0, 0) |

(0, 2, 0) |

(0, 0, 2) |

where I have omitted the vectors which are just the opposites of the given ones. Another set is

( | –τ, | τ–1, | 1) |

( | 1, | τ, | τ–1) |

( | –τ+1, | 1, | –τ). |

The other three sets are equivalent to the second one under the symmetries of reflection in coordinate planes and cyclic transposition.

mτ + n | m′τ + n′ | m″τ + n″ | ||

Very Short | Double | 2τ–2 | 2τ–2 | 0 |

–τ+2 | –τ+3 | 1 | ||

2τ–3 | τ | τ–1 | ||

Short | Single | 1 | 1 | 0 |

(τ–1)/2 | (2τ–1)/2 | τ/2 | ||

(–τ+2)/2 | (τ+1)/2 | 1/2 | ||

Double | 2 | 2 | 0 | |

τ–1 | 2τ–1 | τ | ||

–τ+2 | τ+1 | 1 | ||

Medium | Single | τ | τ | 0 |

1/2 | (τ+2)/2 | (τ+1)/2 | ||

(τ–1)/2 | (2τ+1)/2 | τ/2 | ||

Double | 2τ | 2τ | 0 | |

1 | τ+2 | τ+1 | ||

τ–1 | 2τ+1 | τ | ||

Long | Single | τ+1 | τ+1 | 0 |

τ/2 | (3τ+1)/2 | (2τ+1)/2 | ||

1/2 | (3τ+2)/2 | (τ+1)/2 |

From the first set of three, we get one prototype vector:

(2, 2, 0);

the other possibilities are equivalent to this one. From the second set of three, the sum of the first and second vectors is

(–τ+1, 2τ–1, τ).

The sum of the first and second vectors is equivalent to this; but the sum of the first and third vectors is

(–τ+2, τ+1, –1).

These three prototypes are enough to find all the vectors for short double green struts; indeed, there are 12 vectors equivalent to the first one, and 24 to each of the other two. Table 4 summarizes prototype vectors for all six lengths; I have used equivalents with non-negative components. The single lengths can have components in which the m's and n's are not integers; thus they allow the set of Zome positions to become more crowded than it was.

The directions of Zome struts are shown in Figure 2[F]. The small spots are the directions of the strut vectors, colored and shaped as the struts are. The black circles are intersections of the sphere with all the planes of symmetry of the zome system; they divide the surface of the sphere into 60 triangles in a pattern that has fascinated geometers from Felix Klein to the present.

Finally, we can connect the green spots to make a pseudo-rhombicosadodecahedron, with rectangles instead of squares. We thus arrive at a picture resembling the Zome node, which is what we started from.