A transformation rotates and mirrors a shape inside its spacegrid.
That means the transformed shapes again resides completely within the grid. Transformations are normally completely opaque to the user. They are simply a number that corresponds to one posible rotation. Some things are rules though
- The lower transformation numbers don't contains mirror transformations
- The upper transformations all contain a mirror
BurrTools uses a concept that I call Symmetries. Throughout the sources the word symmetry can mean either of 2 possible things:
- A transformation that will reorient a shape onto itself
- or A list of all transformations that with the above property, sometimes refered to as symmetry group
For each shape we can calculate such a list of transformations. There are some things to keep in mind:
- when you transform the shape the list may change. That is the symmetry list is not orientation independent
- BurrTools doesn't handle the list, but it knows all possible symmetry lists and has enumbered them and only uses those numbers wherever it is possible