Handout 13B

The purpose of this exercise is to use LOGO to explore frieze patterns.

Recall the activity on frieze patterns from week 4 of this class. Since frieze patterns involve lots of repetition, it's a good idea to use a computer to draw them.

The seven frieze patterns

In each frieze pattern shown above a single motif is repeated in different positions and orientations. The LOGO procedure below is state transparent and draws a motif of size :SIZE centered on the turtle's starting position.
TO RMOTIF :SIZE
  RIGHT 45 FORWARD :SIZE / (SQRT 2)
  LEFT 135 FORWARD :SIZE / 2
  LEFT 90 FORWARD :SIZE
  BACK :SIZE / 2
  RIGHT 180
END
Looking at the patterns, we see that it will be useful to have a procedure that moves the turtle to its right by a fixed distance:
TO MOVERIGHT :DISTANCE
  PENUP
  RIGHT 90
  FORWARD :DISTANCE
  LEFT 90
  PENDOWN
END
With just these two procedures we can draw a simple frieze pattern:
  
TO INFTYINFTY :SIZE
  RMOTIF :SIZE
  MOVERIGHT :SIZE
  WAIT 20
  INFTYINFTY :SIZE
END
Use the two procedures to produce a frieze pattern with symmetry 22 /infty; this is the symmetry of the frieze pattern at the top of the figure. You may write your own helper procedures if you wish.


The remaining five frieze patterns are made using mirror images of the basic motif, and so it is convenient to write a LOGO procedure to draw a mirror image of our motif as well. We do this by replacing all left turtle turns with right turns and all right turns with left turns. (Can you see why this would result in the turtle drawing a mirror image figure?)

TO LMOTIF :SIZE
  LEFT 45 FORWARD :SIZE / SQRT(2)
  RIGHT 135 FORWARD :SIZE / 2
  RIGHT 90 FORWARD :SIZE
  BACK :SIZE / 2
  LEFT 180
END
Using this procedure we can easily produce a pattern with symmetry * \infty \infty:
TO STARINFTYINFTY :SIZE
  RMOTIF :SIZE
  MOVERIGHT :SIZE
  LMOTIF :SIZE
  MOVERIGHT :SIZE
  WAIT 20
  STARINFTYINFTY :SIZE
END
Challenge: Use the procedures defined so far to produce a pattern with symmetry 2* /infty; the third frieze pattern in the figure above has this symmetry.

If you wish, you may also modify RMOTIF and LMOTIF to draw more interesting motifs. In order to achieve all possible symmetries in your frieze patterns you should be careful to make your motifs completely asymmetric.


Two of the remaining three frieze patterns have horizontal lines of mirror symmetry. The following procedure moves the turtle into position to draw a horizontally reflected copy of a motif.

TO HREFLECT :DISTANCE
  PENUP
  RIGHT 180
  FORWARD :DISTANCE
  PENDOWN
END
In the example below the HREFLECT procedure is used to produce a pattern with symmetry /infty *; this is the symmetry of the fourth pattern in the figure above.
TO INFTYSTAR :SIZE
  LMOTIF :SIZE
  HREFLECT :SIZE
  RMOTIF :SIZE
  HREFLECT :SIZE
  MOVERIGHT :SIZE
  WAIT 20
  INFTYSTAR :SIZE
END

The reason it is easy for LOGO to draw beautiful patterns like these is that the patterns are made up of regularly repeating copies of a single motif (and its mirror image.) The way these copies repeat can be explained in terms of symmetries of the patterns -- reflection in vertical and horizontal lines, translations, rotations and glide reflections.

We have written LOGO procedures that draw the motif and its mirror image (RMOTIF and LMOTIF). We also have a LOGO procedure corresponding to translation (MOVERIGHT) and one corresponding to reflection in a horizontal line (HREFLECT). Reflection in a vertical line comes from combining the procedure for translation with the one for drawing a mirror image motif. A glide reflection would combine translation, reflection through a horizontal line, and drawing a mirror image motif. By thinking in terms of the symmetries that relate copies of the motif in a frieze pattern we can more easily wrote procedures to produce patterns with those symmetries.

If you have time, use LOGO to produce frieze patterns with the remaining two symmetry types.


Mtht420