This project is to explore the interactions between multiple reflections. Press 1, 2 or 3 to set the number or mirrors (default 2). Use arrow keys to move scratch cat and z/x to rotate scratch cat. Click on a mirror to drag it. Once a mirror has been clicked you can move it with WASD and rotate it with q/e.
Each reflection is a little more faded than the last to help see which cat is the reflection. Isometries ere transformations of the plane which do not distort distance. Examples are rotations, translations and reflections. It turns out every isometry of the plane can be built from 3 or fewer rotations (hence the limit to 3 mirrors). For more info: https://en.wikipedia.org/wiki/Euclidean_plane_isometry