making pentagonal tiles
STEP 1
In a unit square, choose a point (F) and reflect it in the centre of the square. Join these two points to the vertices to make 5 segments. This will be a basic unit for rotating about a vertex of the square. The 5 segments (a to e) can be grouped as a list, which can be transformed as a single object.
Drag point F to change the segments.
figure 1 (5 segments)
STEP 2
To group the 5 segments (a to e) as a list and call it 'cell1', input:
cell1={a,b,c,d,e}
Now, we can rotate cell1 about, say, point A, by 90, input:
cell2=rotate[cell1, , A]
The two lists (cell1 and cell2) can be further combined as a new list, and we call it 'tile':
tile={cell1, cell2}
Note that tile is not shown in the graphic view.
figure 2 (group the segments)
STEP 3
Translate the 'tile' by the vectors AC (u) and DB (v). We can use the sequence command to repeat a translation.
sequence[translate[tile, n*u], n, -3, 3]
This sequence of translation generates a new list (list1), which can then be translated in another direction v.
For example, you can input "translate[list1, 2v]" to make a new list by translating list1 with the vector 2v.
Drag point F to change the tiling.
figure 3 (translate the tile)
STEP 3 (alternative)
The translation in two directions can be combined into a single input:
sequence[sequence[translate[tile, n*u+m*v], n, -3, 3], m, -3, 3]
Drag point F to change the tiling.