Beiträge zur Algebra und Geometrie Contributions to Algebra and Geometry Volume 38 (1997), No. 2, 307-313.

Spacefilling Knots

Peter Schmitt

Institut für Mathematik, Universität Wien Strudlhofgasse 4, A–1090 Wien, Austria e-mail: Peter.Schmitt@univie.ac.at

Abstract. This note describes how to construct toroidal polyhedra which are homotopic to a given type of knot and which admit an isohedral tiling of 3-space.

1. Introduction

A knotted (toroidal) polyhedron (of a certain type) is a polyhedron which is homeomorphic to a closed torus and homotopic to a knot of this type. This note describes in detail the construction of knotted polyhedra which are spacefillers, i.e., which admit a tiling of 3space. The type of the knot may be chosen arbitrarily, and the resulting tiling is both periodic and isohedral, i.e., the group of symmetries acts transitively on the tiles. This construction is a generalization of that used in [4] and [5]. It has been briefly indicated in [6].

These investigations were initiated by a lecture of Schulte [7] during which he suggested to search for a spacefilling knotted polyhedron. (However, the published version [8] does not mention knotted tiles.) Other constructions of spacefilling knots (independently, but also initiated by Schulte) are given by Kuperberg [3] and Adams [1]. Both authors describe knotted polyhedra which admit a lattice tiling of 3-space, without interlocking. Kuperberg’s approach is simplified by Zaks [9].

2. An outline of the construction

Consider the graph in 3-space formed by the edges of a cube lattice. Obviously, it is possible to embed a knot of any desired type into this graph (Fig. 1 shows one of the possible realizations of the simplest case: a trefoil knot embedded into a 3 × 3 × 3 cubic grid.) Apply all the translational symmetries of the lattice to obtain a family of congruent copies of embedded knots. This family covers the graph. Duplicate the family by translating the vertices to the centres of the cubes. Intuitively, it is clear that in three dimensions there

0138-4821/93 $ 2.50 \begin{matrix}c \\ ◯ \end{matrix}1997 Heldermann Verlag

Fig. 1: A trefoil knot and its embedding into a cubic grid

is enough freedom to modify the embedded knot slightly to obtain a knot (homotopic and ‘close’ to the original one, but no longer contained in the edge graph) such that its copies by translation are pairwise disjoint. Finally, blow up the knot to a topological torus such that its congruent copies form a tiling of 3-space, while taking care that the homotopy class remains unchanged by this process.

The procedure just outlined can, of course, be realized in several ways. One specific construction is described in the next section. It is essentially straightforward, but the details are partially rather cumbersome to write down explicitly.

3. The construction in detail

Step 1: A partition of 3-space

Consider the tiling T of 3-space by unit cubes with centres at the elements of the integer lattice 𝕃. For the purpose of the construction this tiling is split into two families, T_{1} and T_{2}, of tiles according to the majority of even or odd integers among the coordinates of the centres. The unions S_{1} and S_{2} of these two families are congruent, have disjoint interiors, and (together) cover space. (More formally, T := {C + p | p ∈ 𝕃}, T_{i} := {C + p | p ∈ 𝕃_{i}} and S_{i} := ⋃ T_{i} = C + 𝕃_{i} where C := [−1/2, 1/2]^{3}, 𝕃 = ℤ^{3}, and 𝕃_{1} := {p ∈ 𝕃 | at most one coordinate odd} ⊂ 𝕃 and 𝕃_{2} := {p ∈ 𝕃 | at most one coordinate even} = 𝕃_{1} + (1, 1, 1). This partition of 3-space into two sets has also been used by Debrunner [2].)

Therefore, if S_{1} can be tiled monohedrally by some prototile K, then ℝ^{3} can be tiled by it, as well. Furthermore, note that S_{1} and S_{2} are homotopic to the 3-dimensional grid G (of lines parallel the axes)

G := {p ∈ ℝ^{3} | at least two coordinates are integers} generated by the integer lattice or, equivalently, to 2G ⊂ S_{1}. Guided by the geometric structure of G, the set L_{1} can be divided into two classes, the vertices

𝕍 := {p ∈ 𝕃 | all coordinates even} = 2𝕃 ⊂ 𝕃_{1}

and the edges (represented by their midpoints)

𝔼 := {p ∈ 𝕃 | two coordinates even and one odd} ⊂ 𝕃_{1}

(with three subclasses 𝔼_{x}, 𝔼_{y}, and 𝔼_{z}, according to the odd coordinate).

Step 2: Embedding of the knot

Every knot (or more precisely, every knot that has a piecewise linear representation) can be embedded into 2G ⊂ S_{1} by a closed path P consisting of points of 𝕃_{1} and line segments (each parallel to an axis) between these points. Note that, among the lattice points along such a path, vertices and edges necessarily alternate.

This path P will be the basis for the construction of the desired knotted spacefiller K, a polyhedral torus homotopic to P. Consider all congruent copies P + p of P obtained by adding a point p ∈ 𝕍 = 2𝕃. Obviously, these translates cover G, they are, however, far from disjoint. It is therefore necessary to modify P to obtain an (equivalent) knot Q (homotopic to P, both in ℝ^{3} and in S_{1}) for which the translates are pairwise disjoint.

The path (or knot) P can be described by the sequence v_{0}, e_{1}, v_{1}, e_{2}, … e_{n}, v_{n} = v_{0} of its vertices and edges. In order to facilitate the construction, set i(x) = n and assume that e_{n} = (−1, 0, 0), v_{n} = v_{0} = (0, 0, 0), e_{1} = (1, 0, 0), and that there are indices i(y) and i(z) such that both e_{i(y)} and e_{i(y)+1} belong to the class 𝔼_{y}, and both e_{i(z)} and e_{i(z)+1} belong to the class 𝔼_{z}. For example, an admissible representation of the trivial knot would be (omitting the edges):

\begin{matrix}v_{0} = (0 & , 0, 0) − (2, 0, 0) − (2, 2, 0) − (2, 4, 0) − (2, 4, 2) − (2, 4, 4) − (0, 4, 4)− \\ − (−2, 4, 4) − (−2, 2, 4) − (−2, 0, 4) − (−2, 0, 2) − (−2, 0, 0) − (0, 0, 0) = v_{12} \end{matrix}

Step 3: Modification of the knot

Since the translations by elements of 𝕍 act transitively on the vertices and on each of the classes 𝔼_{x}, 𝔼_{y}, 𝔼_{z} of edges, in order to construct Q it is sufficient to consider the four cubes C, C_{x}, C_{y}, and C_{z} (where C_{x} = C + (1, 0, 0), etc.): If the knots Q − v_{i} (i = 1, …, n) do not intersect in these four cubes, then all the translates of Q are pairwise disjoint.

To each vertex v_{i} assign a point p_{i} = (x_{i}, y_{i}, z_{i}) ∈ C such that (for i = 1, …, n) no coordinate occurs twice. For technical reasons (whose purpose will become clear later) some additional assumptions on the p_{i} are convenient (and can obviously be satisfied): To v_{0} = v_{n} assign p_{0} = p_{n} = p_{i(x)} = (0, 0, 0) and choose x_{i(y)}, z_{i(y)}, x_{i(z)}, and y_{i(z)} such that their absolute values are less than that of all the other coordinates. Furthermore, assume that p_{i} has been chosen such that (if applicable) the right angle determined by the two lines meeting in p_{i} is intersected by the coordinate axis which is orthogonal to the plane determined by them. (Applied to the sample path of Step 2 this means that, e.g., for p_{1} the coordinate x_{1} has to be chosen from the interval (0, 1/2) and the coordinate y_{1} has to be chosen from (−1/2, 0).)

When constructing Q, the segment C ∩(P−v_{i}) — which consists of two line segments (parallel to two of the axes) meeting in (0,0,0) — is replaced by a corresponding segment C ∩(Q−v_{i}) which is formed by two line segments (parallel to the original ones, and having the same directions) meeting in p_{i}. Therefore, for every point of C ∩ (Q − v_{i}) at least two coordinates coincide with those of p_{i}. By the choice of these coordinates (as pairwise distinct) this means that (for 1 ≤ i ≤ n) these segments are pairwise disjoint.

For each edge e_{i} ∈ 𝔼_{x} either e_{i} − v_{i−1} ∈ C_{x} or e_{i} − v_{i} ∈ C_{x} (depending on the orientation). To obtain the segment C_{x} ∩ (Q − v_{i−1}), in the first case, the segment C_{x} ∩ (P − v_{i−1}) has to be replaced by some path leading from (1/2, y_{i−1}, z_{i−1}) to (3/2, y_{i}, z_{i}). A possible choice is the following path obtained by joining five points by four straight line segments (1/2, y_{i−1}, z_{i−1}) – (1 + x_{i}, y_{i−1}, z_{i−1}) – (1 + x_{i}, y_{i}, z_{i−1}) – (1 + x_{i}, y_{i}, z_{i})

– (3/2, y_{i}, z_{i}). In the second case, the replacement C_{x} ∩ (Q − v_{i}) of C_{x} ∩ (P − v_{i}) is obtained similarly by joining the points (1/2, y_{i}, z_{i}) – (1 + x_{i}, y_{i}, z_{i}) – (1 + x_{i}, y_{i−1}, z_{i})

– (1 + x_{i}, y_{i−1}, z_{i−1}) – (3/2, y_{i−1}, z_{i−1}). In most cases, these paths do not intersect by the choice of coordinates (just as in the case of vertices): For each point of the segment corresponding to e_{i} (in C_{x}) (at least) two of the coordinates coincide with those of either p_{i} + (1, 0, 0) or p_{i−1} + (1, 0, 0). Therefore, the segments corresponding to two edges are disjoint if they do not have a common endpoint (vertex). However, if a vertex v_{i} occurs twice then both e_{i} and e_{i+1} belong to 𝔼_{x} and, if these edges are positively oriented, the last part of the segment corresponding to e_{i} and the first part of the segment corresponding to e_{i+1} (or vice-versa, if they are negatively oriented) have the same x-y-coordinates and may intersect: The line segment (1 + x_{i}, y_{i}, z_{i}) – (3/2, y_{i}, z_{i}) (from Q − v_{i−1} corresponding to e_{i}) intersects the line segment (1/2, y_{i}, z_{i}) – (1 + x_{i+1}, y_{i}, z_{i}) (from Q − v_{i} corresponding to e_{i+1}) if x_{i} < x_{i+1} (for positively oriented edges), and similarly, (1/2, y_{i}, z_{i}) – (1 + x_{i}, y_{i}, z_{i}) (from Q − v_{i} corresponding to e_{i}) intersects (1 + x_{i+1}, y_{i}, z_{i}) – (3/2, y_{i}, z_{i}) (from Q − v_{i+1} corresponding to e_{i+1}) if x_{i} > x_{i+1} (for negatively oriented edges). But when constructing the segments corresponding to the edges in E_{x} the actual values of the x_{i} are not important — it is only used that they are distinct. (In fact, they could be replaced by arbitrarily chosen values.) Therefore, this exceptional case can easily be handled by exchanging x_{i} and x_{i+1}. Similarly, when three or more consecutive edges belong to E_{x} then, for the corresponding segments, the x_{i} can be permuted to produce (descending or ascending) order.

For a unified notation, write (1/2, y_{l}(i), z_{l}(i)) – (x(i), y_{l}(i), z_{l}(i)) – (x(i), y_{r}(i), z_{l}(i)) – (x(i), y_{r}(i), z_{r}(i)) – (3/2, y_{r}(i), z_{r}(i)) to denote the path segment Q − v(i) (where v(i) = v_{i} or v(i) = v_{i−1}) corresponding to e_{i} ∈ 𝔼_{x}. (The edges in 𝔼_{y} and 𝔼_{z} are, of course, treated similarly.)

Step 4: Thickening of the knot

For the final step divide the cubes C, C_{x}, C_{y}, and C_{z} into sufficiently small cubes, i.e., cubes with a side length less than half the minimal distance occurring between the coordinates x_{i}, y_{i}, z_{i}, −1/2, and 1/2. This guarantees that each small cube meets at most one of the knot segments Q − v_{i}.

Now construct K_{0} − v_{i} by taking the union of all small cubes that meet Q − v_{i}. The result is a polyhedral torus K_{0} which is homotopic to Q and P and whose translates (by the elements of 𝕍) still are pairwise disjoint. ‘Blowing up’ (or thickening) K_{0} so that the resulting body and its translates tile S_{1} will complete the construction and provide a knotted polyhedron K as desired. This task can be achieved as follows:

Step 4a: Edge segments

Consider first C_{x}. If (1/2, y_{l}(i), z_{l}(i)) belongs to a segment Q − v(i) then add to K_{0} − v(i) all cubes meeting the line segment from (1/2, y_{l}(i), z_{l}(i)) to (1/2, y_{l}(i), ±1/2) (the sign depending on the sign of z_{l}(i)). Then add all the remaining cubes meeting the face x = 1/2 of 𝔼_{x} — a ‘two-sided comb’ extending from (and including) the line (1/2, −1/2, z_{i(x)}) − (1/2, 1/2, z_{i(x)}) — to Q − v_{i(x)}. This works since the coordinates y_{l}(i) (taken from the y_{i}) are all different, and the coordinates z_{l}(i) (from the z_{i}), for i ≠ i(x), all have absolute values greater than z_{i(x)}. Proceed analogously with the opposite face (x = 3/2).

These two face layers (and analogously constructed ones in C_{y} and C_{z}) serve to hide the interior of C_{x} (or C_{y} and C_{z}, respectively). By their construction, and because of the assumptions on the coordinates of p_{i}, the segments (of K_{0}), corresponding to two edges of Q which meet orthogonally in v_{i}, are extended only outwards or sidewards, but not inwards, and therefore they will not touch when the polyhedron K is put together.

Next consider the values x(i) (for edges in 𝔼_{x}), i.e., those values of the x-coordinate where, with the help of two orthogonal line segments, a change from one line parallel to the x-axis to another one takes place. For each e_{j} ∈ 𝔼_{x} (j ≠ i) the path segment of Q−v(j) passes either through (x(i), y_{l}(j), z_{l}(j)) or (x(i), y_{r}(j), z_{r}(j)). Accordingly, add to K_{0} − v(j) all cubes meeting the line segment (x(i), y_{l}(j), z_{l}(j)) − (x(i), y_{l}(j), ±1/2) (or the line segment (x(i), y_{r}(j), z_{r}(j)) − (x(i), y_{r}(j), ±1/2), respectively) where the sign is chosen such that this line does not meet the two orthogonal line segments (of Q−v(i) at x = x(i)). Add all remaining cubes meeting the square cross section determined (in 𝔼_{x}) by x = x(i) (a simply connected set) to K_{0} − v(i).

So far, from the small cubes of C_{x} two layers at two faces and some layers (less than n) between them have been assigned to segments K_{0} − v(i). In the sections between these layers Q − v(i) (if in C_{x}) is a line segment parallel to the x-axis (and therefore K_{0} − v(i) is a prism parallel to this axis). In each section, extend these finitely many prisms (less than n, but at least one because of e_{i(x)}) to layers (parallel to the x-z-plane and of appropriately chosen width) which fill that section. (Since all the coordinates y_{i} are different, no conflict occurs.)

The resulting segments K − v(i) all are simply connected and form a tiling of C_{x}. Proceed analogously for C_{y} (extension again parallel to the z-axis) and C_{z} (extension parallel to the y-axis).

Step 4b: Vertex segments

Now consider C and use a construction similar to the previous one: The segment of Q − v_{0} = Q (corresponding to v_{0}) passing through C coincides with the x-axis since p_{0} = (0, 0, 0). If a segment of Q − v_{i} intersects the x-y-plane in (x_{i}, y_{i}, 0) then add to K_{0} − v_{i} all cubes meeting the line segment from (x_{i}, y_{i}, 0) to (x_{i}, ±1/2, 0) where the sign of 1/2 equals the sign of y_{i}. (Again, no conflict occurs, since the x_{i} are all different.) Then add all remaining cubes meeting the square with z = 0 to K_{0} − v_{0}. In other words: Add to K_{0} prisms parallel to the y-axis (in both directions) either until a face of C is reached, or until another segment K_{0} − v_{i} is met. In the latter case, add cubes to this segment (in the same way), outwards and parallel to the y-axis, until the face of C is reached. The result of this procedure is a square layer (at z = 0) of small cubes, where each cube is assigned to one of the segments K_{0} − v_{i}. Now, similarly, add more cubes to the extended segments K_{0} − v_{i}: To every cube of the square layer just constructed add cubes to form prisms parallel to the z-axis either until a face is reached, or until a cube of another segment K_{0} − v_{j} is met — in the latter case add the remaining cubes to this segment.

Since any right angle formed by a segment contains a coordinate axis these angles are enlarged only outwards or sidewards, but never inwards — therefore the construction does not create loops, and the result is a tiling of C by simply connected polyhedra K − v_{i}. Moreover, for the same reason no loops will occur (at an edge cube) when, finally, the segments are glued together to form the polyhedron K.

The result

In the end, each one of the small cubes in C ∪ C_{x} ∪ C_{y} ∪ C_{z} is assigned to one of the segments K_{0} − v_{i} to form a segment K − v_{i}, therefore the n segments K − v_{i} form a tiling of this set, and

K = ⋃_{i} ((K − v_{i}) + v_{i}) ⊃ Q

is a knotted prototile with the desired properties: Because of its construction this polyhedron belongs to the same homotopy class as Q (and P), and the family of its translates (by the elements of 𝕍) forms a tiling of S_{1}.

4. Remarks.

(a) (Step 1) The construction does not depend on P being a knot. It may as well start from an 1-dimensional manifold of higher genus, and may even posess more than one connected component (e.g., it may be a link). In this way, by starting from P and some (disjoint) congruent copies of P, some additional symmetries for the resulting tiling may be obtained.

(b) (Step 2) Both the choice of the embedded path P and the type of modifications leading to Q influence how the copies of K are linked in the final tiling.

(c) (Step 1) Instead of S_{1} and S_{2} the construction can also be based on the ‘linked doublelayers’ used in [3], or some similar divisions of 3-space.

5. References.

[1] Adams, C. C.: Tilings of space by knotted tiles. The Math. Intelligencer 17 (2) (1995), 41–51.

[2] Debrunner, H. E.: Tiling three-space with handlebodies. Studia Scient. Math. Hung. 21 (1986), 201–202.

[3] Kuperberg, W.: Knotted lattice-like space fillers. Discrete Comput. Geom. 13 (1995), 561–567.

[4] Schmitt, P.: A spacefilling trefoil knot. Note, June 14, 1993 (to appear: Österreich. Akad. Wiss., math.-naturw. Kl., Anzeiger).

[5] Schmitt, P.: Another space-filling trefoil knot. Discrete Comput. Geom. 13 (1995), 603–607.

[6] Schmitt, P.: Spacefilling knots. Preprint, 1994.

[7] Schulte, E.: Spacefillers of higher genus. Lecture, Austrian conference on discrete geometry. May 2–8, 1993; Neuhofen/Ybbs, Austria.

[8] Schulte, E.: Space fillers of higher genus. J. Comb. Theory A 68 (1994), 438–453.

[9] Zaks, J.: Monohedrally knotted tilings of the 3-space (a short note). Proc. Combinatorics ’94 (to appear).

Received August 28, 1996