This is Chapter 4 of my book: Geometry and Symmetry Chapter 4 Plane Tessellations, http://dx.doi.org/10.13140/RG.2.2.17922.80322. It concerns plane tessellations and their symmetry groups. It is well known that the isometries of the Euclidean plane are translations, glide reflections, reflections and rotations. However it is also known that the only possible rotations of plane tessellations are of order 2,3,4 and 6. Considering these rotations as separate types we have 7 types. The symmetry groups of these tessellations are discrete infinite groups containing independent translations. We give an enhancement to our finite group algorithm to generate “levels” of the infinite discrete group from generators.
The main result is that there are only 11 combinations of the 7 types that can be in a given symmetry group of a tessellation. We show examples of tessellations for these 11 possibilities.
The main result is that there are only 11 combinations of the 7 types that can be in a given symmetry group of a tessellation. We show examples of tessellations for these 11 possibilities.
The material in my previous post “Transformation Functions and Symmetry”, particularly Chapter 2, is a prerequisite for this material.
Chapter 4: Plane Tessellations
In this chapter I will return to plane isometries and tessellations. We will see that this is actually harder than working on the sphere which is compact. Not only will we need to use infinite symmetry groups but we will be working with all 4 isometry types. Our symmetry groups will be generated by actual isometries which makes our discussion different than than the classical discussion. There are two uses for symmetry groups the construction groups and full symmetry groups.
In this bookI will use stone pavers and floor tiles rather than wallpaper patterns to avoid problems caused by the artistry. The pavers and tiles will assumed to be polygons for simplicity.
I expect the reader to review Chapter 2 of my Transformation and Symmetry book. A pdf version is available on my website, a Mathematica notebook is available from my page in the Wolfram Community. In particular the reader should be familiar with Transformation Functions as a data type in Mathematica.
To review, the 4 isometry types are Translations and Rotations which are given by Mathematica’s built-in functions, Reflections and Glide reflections also have built-in functions but I prefer my own functions. First a hidden subroutine getTF2D from Chapter 2.
Definitions
Definitions
4.1 An Example
4.1 An Example
I will start with an example: the square tiling. This is one of the most common paving or tiling you will see and in one sense the simplest. On the the other hand we will see its symmetry group is one of the largest. This tessellation theoretically tiles the entire real plane, a small piece looks like.
In[]:=
Our base or home tile is given by the square
In[]:=
S={{1,1},{1,-1},{-1,-1},{-1,1}}
Out[]=
{{1,1},{1,-1},{-1,-1},{-1,1}}
In[]:=
Graphics[{{LightOrange,Polygon[S]},{Black,Text["{1,1}",{1,1}],Text["{1,-1}",{1,-1}],Text["{-1,-1}",{-1,-1}],Text["{-1,1}",{-1,1}]},{Red,PointSize[.1],Point[{0,0}]}},ImageSize->Tiny]
Out[]=
The centroid is the origin {0, 0} .
The simplest symmetries are the translations we will call
In[]:=
τv2=TranslationTransform[{2,0}]τh2=TranslationTransform[{0,2}]
Out[]=
TransformationFunction
1 | 0 | 2 |
0 | 1 | 0 |
0 | 0 | 1 |
Out[]=
TransformationFunction
1 | 0 | 0 |
0 | 1 | 2 |
0 | 0 | 1 |
To see how this works, here are 6 transforms of our base polygon in the center.
Graphics[{EdgeForm[{Gray,Thickness[.015]}],{Cyan,Polygon[S]},{Orange,Polygon[τv2@S]},{Green,Polygon[τh2@S]},{Yellow,Polygon[InverseTF[τv2]@S]},{Pink,Polygon[InverseTF[τh2]@S]},{Brown,Polygon[τv2@*τh2@S]},{Purple,Polygon[τv2@*InverseTF[τh2]@S]}},ImageSize->Small]
Out[]=
Continuing this way it is easy to see that each tile can be constructed by applying a element of the group generated by {τv2, τh2} we can get any tile in the tessellation.
Even though we will not get a finite group of transformations we can still use our finite transformation group code in Chapter 2 to approximate the infinite groups. Later in this chapter I will give a better alternative.
In[]:=
TasTF[S_,tas_]:=Module[{len,t,i},len=Length[S];t=tas[S[[1]]];i=2;While[i<=len,t=t@*tas[S[[i]]];i++];t]
In[]:=
Options[nFindKeys]={tol->1.*^-5};nFindKeys[A_,v_,OptionsPattern[]]:=Module[{S,R},S=Normal[A];R=Reap[Do[If[Norm[s[[2]]-v]<OptionValue[tol],Sow[s[[1]]]],{s,S}]];If[Length[R[[2]]]>0,Return[R[[2,1]]],Return[{{1}}]]]
In[]:=
Options[finiteTransGroup]={tol->.001};finiteTransGroup[tas_,tp_,n_,OptionsPattern[]]:=Module[{k,A,An,V,K},k=Length[tas];A=<|({#}->tas[#]@tp)&/@Range[k]|>;Do[An=<|(#->TasTF[#,tas]@tp)&/@Tuples[Range[k],j]|>;A=Join[A,An],{j,2,n}];V=DeleteDuplicates[Values[A],Norm[#1-#2]<OptionValue[tol]&];K=Table[First[nFindKeys[A,V[[i]]]],{i,Length[V]}];Echo[Length[V],"number of group elements calculated "];K]
In[]:=
G1=finiteTransGroup[<|1->τv2,2->InverseTF[τv2],3->τh2,4->InverseTF[τh2]|>,{0,0},4]
»
number of group elements calculated 41
Out[]=
{{1},{2},{3},{4},{1,1},{1,2},{1,3},{1,4},{2,2},{2,3},{2,4},{3,3},{4,4},{1,1,1},{1,1,3},{1,1,4},{1,3,3},{1,4,4},{2,2,2},{2,2,3},{2,2,4},{2,3,3},{2,4,4},{3,3,3},{4,4,4},{1,1,1,1},{1,1,1,3},{1,1,1,4},{1,1,3,3},{1,1,4,4},{1,3,3,3},{1,4,4,4},{2,2,2,2},{2,2,2,3},{2,2,2,4},{2,2,3,3},{2,2,4,4},{2,3,3,3},{2,4,4,4},{3,3,3,3},{4,4,4,4}}
A technical comment is that since translations and glide reflections have infinite order this procedure will not find the inverses, therefore we have to add the inverses as generators. We will see later that often if half turns or reflections are also generators then the inverses of translations and glide reflections will be compositions of the generators so specifically adding the inverses may not be necessary.
A second technical comment is that the second argument of the finiteTransGroup function is a test point. Using one such as {0,0} above only gets that part of the group that is in the orbit of {0,0}. To get all elements of the group use a pseudo random test point, one such as is sufficiently random in our context.
{.2152,.1483}
In this chapter a useful routine for constructing tessellations is
In[]:=
groupTessellate[G_,tas_,P_,col_,bcol_]:=Module[{tab},tab=Table[TasTF[g,tas]@P,{g,G}];Graphics[{col,EdgeForm[{Thickness[.005],bcol}],Polygon[tab]}]]
In[]:=
groupTessellate[G1,<|1->τv2,2->InverseTF[τv2],3->τh2,4->InverseTF[τh2]|>,S,Brown,Gray]
Out[]=
So I say group G1 is a construction group for the square tessellation.
But there are other symmetries . We note the entire section above has rotation symmetries, in particular a 4 fold rotation about the center, {0,0}. If we look more closely we see that the point {1,0}, on the base square is the center of a half turn.
σ4:=RotationTransform[Pi/2,{0,0}]η1:=RotationTransform[Pi,{1,0}]
In[]:=
Graphics[{EdgeForm[{Gray,Thickness[.015]}],{Cyan,Polygon[S]},{Orange,Polygon[η1@S]},{Green,Polygon[σ4@*η1@S]}},ImageSize->Small]
Out[]=
We could guess that these two transformations could also construct the group.
Again we construct a square tessellation, but the squares shown are somewhat different from our first attempt.
Both of these construction groups contain only direct isometries, that is, isometries which are orientation preserving or alternatively, have the upper left 2×2 block in the transformation matrix with determinant 1. But we can see that this tessellation also has reflection symmetry. Three obvious reflections are
These are all reflections of the square. Note that
while
so σ4 will be contained in any group containing ρh and ρd
Also note
is the same as
so if ρh and ρd are in a group then so is ρv .
Unfortunately all these transformations leave {0,0} fixed so we will only get a finite group. So we need another reflection
Now consider
which appears to be an additional square tessellation of the plane . These groups are different, certainly G2, G3 are bigger than G1 but since G3 contains reflections it is different from G2 which only has direct isometries. We will see G2 is contained in G3 which we will find is the complete group of of symmetries of the square tessellation. In particular it will contain translations and glide reflections, rotations of order 4 around all vertices and half turns about all edge midpoints.
Given this example we can now look at the theory .
Section 4.2 The Theory
Section 4.2 The Theory
In this long section I give the basic theory of symmetry of plane tessellations
4.2.1 Discrete and complete plane tessellations
4.2.1 Discrete and complete plane tessellations
Following Yale, a group of plane transformations G is discrete if given any bounded set W of the plane and any point p in the plane the G-orbit of p contains only finitely many points in W.
In practice, working with isometries, we can use any circular disc about the origin for W and any convenient point p to demonstrate this. In particular all construction groups of isometries will be discrete, a non-discrete group would just give a mess.
In practice, working with isometries, we can use any circular disc about the origin for W and any convenient point p to demonstrate this. In particular all construction groups of isometries will be discrete, a non-discrete group would just give a mess.
A complete plane tessellation group is one in which the tessellation, if continued would fill up the whole plane. Groups G1,G2 and G3 in section 4.1 will be discrete complete tessellation groups if we just follow one point of the square. The group association routine can be used to demonstrate. For example
This plot shows no clustering and a definite 2 dimensional picture which if continued would fill up the plane.
On the other hand, consider, again using the transformation functions defined in 4.1 the group
Here the points give a 1 dimension set so we will not get a complete tessellation group .
On the other hand consider
We are getting a jumble . This group is not discrete. It would be complete as a 2-dimensional set but we will not get a symmetric tessellation out of this.
4.2.2 An algorithm for discrete groups
4.2.2 An algorithm for discrete groups
So far we have taken the view that if we use our finiteTransGroup procedure then the we will get our group elements but unlike the the finite case this will not stabilize as n gets large, but continue to grow. This is actually the correct idea. But in this Chapter we will use an enhanced procedure, based on finiteTransGroup, which gives us more information and options.
Without specifying a group name or options it returns the pictures in 4.2.1
This shows a circle of radius 2.5 about the origin with 4 points inside and one outside .
Now there are 5 points inside, c points . But if we increase n to 7
there are still only 5 points inside the circle, now with a larger number of points outside the circle. Thus the number or elements calculated does not stabilize, the number of c-points does so this graphic shows that we have a complete discrete group. Notice also that the points show a nice lattice so could get nice tessellations .
If instead we use a random test point we will get more points
We get a messier picture but the c-points are stabilizing at 4. This is a better approximation of the actual group defined with these generators.
In the next subsection we will be using the group Association of a group . This can be found by using discreteTransGroup using option returnAssoc->True. If you also set returnGroup->True then that will override the return association. If you want both use return Association->True as the group can be recovered as the Keys of the association. With either or both options chosen you will not get the plot. However this can be also be recovered as the values of the association. Here is an example
4.3 Symmetry groups of symmetric strip patterns
4.3 Symmetry groups of symmetric strip patterns
This is the one dimensional case. I don’t know what the proper definition of a strip pattern is, but Mathematicians are sure that there are 7 of them. In practice there are probably infinitely many. Unlike the two dimensional case it is not clear how group theory is helpful here but there are seven groups of transformations that have been identified. Essentially these are the subgroups of the finite rectangle group with a translation and maybe glide reflection added. The generators follow
1
.Horizontal translation only
2
.Horizontal translation and horizontal glide reflection, no horizontal reflection
3
.Horizontal translation and horizontal reflection with x-axis mirror
4
.Horizontal translation and vertical reflection with y-axis mirror
5
.Horizontal translation and half turn.
6
.Horizontal translation, half turn, vertical reflection, horizontal glide reflection
7
.Horizontal translation, half turn, vertical reflection, horizontal reflection.
or, less boring
4.5 Examples and properties of the groups
4.5 Examples and properties of the groups
4.5.1 Group I, two independent translations
4.5.1 Group I, two independent translations
This is the most general and perhaps then the most useful group, especially when used as a construction group rather than a full symmetry group.
Then the, necessarily discrete, group they define consists simply of translations
The parallelogram
is a cell for a tessellation.
as a random example
The centroid is shown
One special concern is with translations and glide reflection the inverses are not products. But groups should be closed under inverses, so they must be given. Without inverses we have
we should have gotten
When half turns, or certain reflections or rotations, are available the inverses are come from compositions so don’t need to be listed as generators, but here they must be.
For the full group we should use a random test point, but in this case it does not matter, for tessellations the centroid of the cell is what we should use.
Notice we get all combinations of the indices 1,2,3,4
Our tessellation is then
Now for this example, the half turn about the centroid is also a symmetry of the tessellation. So this group is not the full symmetry group but is the best construction group which will be group IV.
We can find a cell which has this group as a symmetry group by a little surgery .
The graphic shows this plane figure has no symmetry. Then the tessellation
has only translation symmetry . These graphics may be somewhat misleading but because your eyes may see these as a 3D pattern but they are only 2D so the tessellation has no reflection symmetry there are no glide reflections.
4.5.2 Group II Translations and Glide Reflections
4.5.2 Group II Translations and Glide Reflections
It is possible in a tessellation group to have glide reflections and not reflections. In our discussion on Group III we will note that it is not possible to have reflections and no glide reflections.
Calculating the discrete group at a random test point we get
shows not a jumble but a well organized set of points . Further levels show this to be a discrete group .
shows we get only translations and glide reflections, no reflections or rotations .
Rather than demonstrate a tessellation with this group we claim that there is a general family of tessellations, isosceles triangles. We give a pseudo random example
We use one side to be the base of a glide reflection
In section 4.6 .1 we will see that this group is useful for checkerboards.
4.5.3 Group III Translation and reflection
4.5.3 Group III Translation and reflection
As mentioned above, when there is a reflection one can expect glide reflections also. This is true of our standard example
It is not surprising that there are glide reflections even though the defining reflection does not have a mirror parallel to the translation.
As our example we use for our cell paver3 which consists of an octagon with a square attached to one side.
This is commercially available, for example
Our tessellation gives
This is somewhat different from the commercial picture . In practice the square added to the octagon is separated from the octagon by a false joint. This is evident in the photo if you look for it. We will see this again and in the next section where we consider compound cells.
4.5.4 Translations and half turns
4.5.4 Translations and half turns
This is a group known for for parallelogram and scalene triangles tessellations.
So we just have translations and half turns, but many half turns.
Our example of a tessellation is the parallelogram with centroid {0,0}
On the other hand, given a scalene triangle we can define this group using just half turns. Consider half the rectangle where the midpoints of the sides,
Once again we get translations and half turns. Recall from elementary transformational geometry that the composition of 2 half turns is a translation which is shown by the 5 translations, {1,1} being the identity, given above by a doubleton.
The following computation shows that G4a is contained in G4.
Conversely
shows that G4 is contained in G4a . Thus these two infinite discrete groups are equal because they contain each others generators. Hence Group IV is also a group defined by 3 half turns.
4.5.5: Translations, Reflections, half Turns
4.5.5: Translations, Reflections, half Turns
Here we don' t need to explicitly give the inverses of the translations as generators because the half turn is a generator and the inverse of any isometry is its conjugate by the half turn. Note also that ρh is just η0@*ρv so that is also included.
In addition to the listed translations, reflections and half turns we see another example of the glide reflections created by reflections and translations.
For our example we modify this a tiny bit. Let
We use the group
Our cell is the diamond
Then we get the tessellation
We note that this group is also the group of symmetries of a rectangle . Whereas in the diamond the mirrors are the diagonal lines between opposite vertices, in a rectangle the mirrors are between opposite midpoints. Here is an example
Because of this tessellation I may later call this group the rectangle group.
So far we have not used rotations other than half turns, the next group will have rotations of order 3, 4, and 6.
Later, when we consider compound cells we use an alternate version of Group V . Probably group theorists would classify this as a different type because it is probably not isomorphic to our standard example but since we are classifying by the types in the actual group rather than generators this still has T, G, RF ,H. The original group is generated by translations and reflections with glide reflections a consequence of these. This variation has a different glide reflection which is given as a generator.
We get a different tessellation with our cell rect5.
See section 4.6 for more details
4.5.6 Translations and order 4 rotations
4.5.6 Translations and order 4 rotations
This is not a particularly useful group but must be included for completeness .
We see beside the generator types we also get half turns η0 = σ4@*σ4 and others. Given half turns we get the inverse of τh so we don’t need to include that as a generator. But there are no reflections or glide reflections. On the other hand all the translations are parallel to or orthogonal to τh. We get τv by
or
To get a tessellation without introducing reflections we use
We modify G6 slightly
Note that there are no reflection symmetries
Thus G6M is not just a construction group but the symmetry group of the tessellation .
4.5.7 Group VII Translations, Rotations of order 4 and reflections
4.5.7 Group VII Translations, Rotations of order 4 and reflections
Our standard example is
The following association is as expected, translations, half turns, reflections, glide reflections and, of course order 4 rotations.
As expected our tessellation is
Our original cell sq is shown and all the vertical and horizontal mirrors of reflections are evident, one vertical mirror is shown, it is
Note
is the translation τh with inverse
Thus an alternate set of generators for G7 is
We are done with order 4 rotations, the remaining groups concern order 3 and 6 which may have half turns but no order 4 rotations .
4.5.8 Group VIII, Order 3 rotations and translations only.
4.5.8 Group VIII, Order 3 rotations and translations only.
Our standard example is
where we need to include the inverse of our translation as a generator .
This does look discrete . Note that
We see no other types appear to be present . Our tessellation example is given in the closed cell
This has no symmetries other than an order 3 rotation . Its tessellation is
4.5.9 Group IX Translations, reflections and order 3 rotations
4.5.9 Group IX Translations, reflections and order 3 rotations
What makes this different from VIII and X is that it has a reflection but no half turn. Our example is
Other than the generators of types T, R3,RF we have only G which is expected to appear when there is an RF. In particular there is no H.
A nice example of a tessellation with just these symmetries follows.
4.5.10 Group X Translations, rotations of order 2,3,6.
4.5.10 Group X Translations, rotations of order 2,3,6.
This group will be called the direct hexagon group, it is the group of direct isometries of the hexagon .
Our basic example is
Note that an alternate generating set is
Also note that the inverse of τh is also a consequence of these generators as seen by the points {-2,0}, {-1,0} are in the orbit of {0,0}.
also we see the points of norm 1 in the orbit of {0,0} form a hexagon
So we just get translations and rotations of order 2, 3, 6.
The well known hexagon tessellation is not
Rather we let
Then
is the well known hexagonal tessellation of the plane.
4.5.11 Group XI reflections, and rotations of order 2,3, 6.
4.5.11 Group XI reflections, and rotations of order 2,3, 6.
This is known as the full equilateral triangle group giving all the symmetries of the triangle tessellation below. It also gives all symmetries of the hexagon tessellation above with reflections. In fact this group includes all isometry types except for order 4 rotations. The group of all isometries is not a discrete group.
Our standard example of the group is
4.6 Examples of Compound Tessellations
4.6 Examples of Compound Tessellations
One can use our tessellation groups to tessellate the plane using more than one cell. Generally one should use a group that provides symmetry of all the cells and the union, however in most cases if there is no reason to use a bigger group one may use group I, translations. I illustrate with a number of my favorite examples.
4.6.1 Checkerboards
4.6.1 Checkerboards
Our first example is the standard checker board .
The union is
We use group II, we will define specific translation and glide reflection.
It is easily checked that as in the specific example there are translations and glide transformations only. We get our tessellation.
Since we are using group tessellation then we are using group elements at level 4. If we wanted just a standard 8 × 8 checker board we would use a higher level and just choose the group elements to use. This will be discussed in the next Section.
Here is my version of part of an actual pavement
It is sort of a checkerboard. The basic shape is
We see this is basically our checkerboard above . So using the same group
Again we get our original picture by using a large enough level and picking cells .
We notice in both of these checkerboards that we have vertical and horizontal reflections through the centers of the cells. These in turn compose to form half turns about the midpoints of the cells. So the actual symmetry of these compound tessellations is Group V.
4.6.2 Bricks
4.6.2 Bricks
Without alternating color or orientation we can make a brick wall by Groups IV or V.
We saw above if we did not alternate we had
We can use this with a more complicated brick .
This gives us some ideas. For this we prefer not to have the border so we use
4.6.4 More Bricks
4.6.4 More Bricks
A very popular use of rectangular paving stones sometimes goes by the name Holland. Your author had this on a section of his driveway. It is a nice example of Group IV.
Let
Again, to do a tessellation one needs a version of the group with a random test point. Also conjugating any translation by a half turn gives its inverse so the main importance of the half turns to get inverses for the translations. But it also shows our tessellations have half turn symmetry.
Often this is seen diagonally
Note we did not need to recalculate the group since we are just conjugating. I changed the color of brick 2 so all bricks are the same as on my old driveway
4.6.5 Octagonal paver
4.6.5 Octagonal paver
This is commercially available, for example and similar to group III.
But here we regard the octogons and the squares separately .
Recall
4.7 Working with tessellations
4.7 Working with tessellations
This will be covered in a different notebook . I it is also covered in the .pdf file for this chapter on the author’s website https://barryhdayton.space/GSChapter4.pdf
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Geometry and symmetry: chapter 4 plane tessellations
by Barry H Dayton
Wolfram Community, STAFF PICKS, June 13, 2025
https://community.wolfram.com/groups/-/m/t/3478683
by Barry H Dayton
Wolfram Community, STAFF PICKS, June 13, 2025
https://community.wolfram.com/groups/-/m/t/3478683