# Three dimensional tessellation of crosses

It is quite well known that the Greek Cross, as shown here, tessellates to completely tile the plane with no gaps or overlaps. The Greek Cross is treated as a square of side length 1 with a square of side length 1 attached to each edge.

I decided to investigate the three dimensional analogue: we define a cross as a cube of side length 1 with a cube of side length 1 attached to each face. The resulting cross consists of seven cubes of side length 1.

The cross does in fact tessellate to completely fill three dimensional space with no gaps or overlaps.
Here I will give two ways to show this.
The first is by just watching the pieces fit together.
I made an animation to demonstrate this. (I am a novice animator and programmer as well as an amateur mathematician!)
The first step is to construct a string of crosses as shown. We will refer to such a string as a chain. The resulting chain looks like a set of cubes of side length 2 that overlap at the corners.

Then we fit together chains as shown to create a sort of stepped, inclined plane.

Next, examining the stepped plane from underneath, we observe that the lower surface is complementary in shape to the top. Therefore, with correct positioning, these stepped planes can be stacked on top of each other to fully fill three dimensional space.

(Yeah sorry for the lower quality on this one, my computer had been rendering for over 24 hours when it shut down due to an error 😦 so now this one looks a bit grainy – oh well)
However, you may not be convinced by this. It’s quite hard to visualise what’s hidden in the animation and the crosses could be intersecting or leaving gaps where we can’t see them.
Therefore, I will give a second way to show the crosses tessellate. It essentially boils down to reducing a 3D problem to a 2D problem, which is much easier to visualise.
We will treat space as being made up of a lattice of 1 by 1 by 1 cells, like 3 dimensional squared paper. Each cell is either occupied or empty.
We use a co-ordinate system to index our cells. Three integers x, y and z locate a unique cell. For example, (0, 0, 0) denotes the origin cell. Observe that we are referring to cells, not points – so the co-ordinates don’t specify a vertex, but a whole cell.
So if we centre a cross at (0, 0, 0), we fill seven cells: (0, 0, 0), (0, 0, 1), (0, 0, -1), (0, 1, 0), (0, -1, 0), (1, 0, 0), and (-1, 0, 0).

We will construct a chain as before. If we centre a cross at (1, 1, 1), we fill another seven cells: (1, 1, 1), (1, 1, 2), (1, 1, 0), (1, 2, 1), (1, 0, 1), (2, 1, 1), and (0, 1, 1). Observe that we have not filled any cell twice.

As we continue to add crosses centred at (n, n, n) for all integers n to make this chain, we will never fill any cell twice.

In general, if one cross is centred at (x, y, z), then the centres of the crosses in the same chain will be located at (x + n, y + n, z + n) for all integers n. Also, we define corresponding cells as cells contained in different crosses of the same chain, that are in the same position relative to their respective cross centres.

For example, if we centre a cross at (0, 0, 0), then the top cell, ie the cell directly above the centre cell, is at (0, 0, 1). This cell corresponds with the cell (2, 2, 3), for example, because that is the top cell of the cross centred at (2, 2, 2), which is a different cross in the same chain.
Now we need to prove that we can fill space using chains. To ensure we fill every cell exactly once, we define the function f that takes in an ordered triple of integers and outputs an ordered pair of integers: f(x, y, z) = (y – x, z – x). For example, f(2, -7, 6) = (-9, 4).

Now we can see that this is not a one-to-one function because f(x + n, y + n, z + n) = f(x, y, z) for all n.
So the function f, when applied to a cell contained in a cross, outputs the same result as when applied to all its corresponding cells.

So applying f to every cell in one chain will produce seven different ordered pairs of integers, one for each set of corresponding cells. So if one cross is centred at (x, x + a, x + b) then applying f to every cell in the same chain yields seven outputs: (a, b), (a, b + 1), (a, b – 1), (a + 1, b), (a – 1, b), (a – 1, b – 1) and (a + 1, b + 1).

Now in order to completely fill space with chains we have to occupy the cells given by the triples (x, x + p, x + q) for all pairs of integers p and q. We therefore need to arrange our chains so that all possible pairs of ordered integers are produced when applying f to the cells of the chains. (Each chain produces seven pairs at a time when f is applied to its cells.)
We can consider the ordered pairs of integers as co-ordinates again, now using 1 by 1 cells in the plane. Placing each chain in three dimensional space and applying f places 7 cells in the plane. Each seven cell figure has the same shape as shown here.

For example, placing a cross centred at (0, 0, 0) in 3D space (which means a = 0 and b = 0) and constructing a chain to contain this cross will yield these seven values upon applying f: (0, 0), (0, 1), (0, -1), (1, 0), (-1, 0), (-1, -1) and (1, 1), and we fill these cells in the plane. So we need to find a way to tessellate these 7-square figures to tile the plane. In this way, we will have placed chains such that every pair of ordered integers is produced once and only once.
This figure can be tessellated, as shown.

Therefore we can indeed place our chains such that all possible outputs of f are produced. This means that we can fill 3D space with chains.
I haven’t yet considered higher dimensions…

By the way, for anyone interested in animation, I used Blender to make these videos. It is completely free and completely awesome.