Written on a mac. May not work on other devices.
Angle between lines: 90 degrees Other data:p1x,p1y,q1x,q1y,p2x,p2y,q2x,q2y,M0,M1,M2,M3,linecol,pattern
Preset examples:
There are two mirror lines, which can be moved by moving the dots on them.
The two mirror lines have a mirror effect determined by M0, M1, M2, M3. M0 and M2 are the mirror line through the yellow orange dots, and M1, M3 are the other line. Each has 5 modes: no refelction; reflect left onto right; reflect right onto left; take the average of both sides of the mirror line; or simply reflect everything, ie., the image is the result of the reflection in the given line. These mirrors are applied from left to right, as is the convention for writing a list of operators. The mirror line can be given different colours. These cycle through the following options, (0) plain black lines between the dots determining the mirror lines; (2) same but gray lines; (3) same but white lines; (4) no lines, but dots still shown; (5) no lines or dots; (6) as well as the original lines, the reflections of these lines are shown in the other mirror lines, depending on the mode of the M0, M1, M2, M3 buttons.
The point of this program is to provoke thought about mirror symmetries and
their compositions. What does it mean to apply a mirror symmetry? What does it mean to symmetrize an image? How does this relate to kalidescopes, where there
are usually 3 mirror lines? With real mirrors, you can't just reflect in one then the other; all the possibly infinitely many reflections happen at once,
though there are not actually infinitely many images perceptible in practice.
Can we approximate the infinite situation with just four mirror operations? (Answer: not in general, but you can in special cases (note, infinity becomes
equivlent to a small
number, like 6). See if you can find them.)