## ยง Seeing the semidirect product of the dihedral group.

Think of rigid motions of a hexagon. Let's focus on a single edge.
See that the movement of this edge determines everything else.
So let's see where this edge can go to. There are six different
locations it can go to, by "rotating". Not only that, but we can
also "flip" the edge (by flipping the entire hexagon!) This means
we have two types of transformations we can perform on this single
edge, that determines everything else: (1) rotating it, moving it to another
location, and (2) flipping the edge. We might naively decide to mathematically
encode the different moves we can make as `(angle, flip)`

, which represents
(a) rotating by an angle, and (b) flipping the hexagon. The next question
one asks is how to write the result of performing one move after another?
- If we have two rotations, we can compose them into another rotation.
- If we have two flips, they compose to become no flip at all.
- What happens if we have
`(angle1, flip=true)`

followed by `(angle2, flip=False)`

?

In fact, there is a subtlety here. What do we mean by "rotate by an angle"? How do
we determine "clockwise" and "anti-clockwise"? There are two choices:
- 1. Define these "from the top view", as viewing the hexagon as the face of a clock.
- 2. Define this "from the view of the edge", as rotating in the direction of the edge.

We must make one of the two choices.
TODO: mathemagize this.