Simple recursive systems and fractal patterns

Equiluminance
motifs

Squeel pool motion illusion

Ted Bell and I experimented (2/8/08) with these motif pairs (below, left and right halves), which have the common property that the motifs are inversions and rotations by pi/2 radians of each other and are all identical after a pi radian rotation. All but the third (Fig. 1c) have matching colors on top/bottom and left-right edges. When tiled together they result in regions (closed boundaries) of different extents, depending on the tessellation pattern.

a |
b |
c |
d |

Figure
1. Pairs of
related motifs and their symmetries. Each half of every pair is the
luminance inverse of the other half, rotated by pi/2 radians. All
motifs are symmetric with respect to a pi radian rotation. The motifs
in a are symmetric about
both the vertical and horizontal axes, but the motifs in b, c,
and d are symmetric about only
one of these axes.

A nice aspect of these motifs is that they are in a sense universal: a regular square tiling using any combination of motifs will result in contiguous regions with related boundaries. The motif properties that allow arbitrary combinations are matching colors at boundaries, at the top-bottom and at the left-right. The motif pair in Fig 1. c does not strictly match at these boundaries, but the obtuse angles make for a near match: with a slight modification they do match, as in Fig 1. d. Clifford Pickford, in "A Passion for Mathematics" calls patterns with this class of motifs "Eschergrams".

Each pair of motifs is composed of an equal fraction of black and white because the luminance values of each half are inverses of each other. Tesselations that use equal numbers of each motif will also have an equal fraction of black and white.

Each single motif is not composed of an equal fraction of black and white, but it is not far off. See equiluminance motifs below.

a |
b |
c |
d |
e |

Figure
2. Checkerboard tessellations of motif pairs in Fig. 1, and tessellation the pattern
(e). Each region spans two
motifs.

a |
b |
c |
d |
e |

Figure
3. Thue-Morse tessellations
of motif pairs in Fig. 1,
and the tessellation pattern (e).
The regions span one, two and three motifs.

a |
b |
c |
d |
e |

Figure
4. Random tessellations of motif pairs iin Fig. 1, and tessellation the pattern
(e). These regions span
any number of motifs.

MATLAB commands:

>> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, [0 1; 1 0], [0 1; 1 0] );

>> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, [0 1; 1 0], [1 0; 0 1] );

>> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, [-1 -1; -1 -1] );

>> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, [0 1; 1 0], [0 1; 1 0] );

>> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, [0 1; 1 0], [1 0; 0 1] );

>> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, [-1 -1; -1 -1] );

[ To Do: What do tessellations that use 1-bit images as patterns look like; can feature boundaries be distinguished even though the luminance fraction is close to 1/2? What are motifs like this where each motif is exactly 50-50% black and white? Try this on "1-bit Mona" with a very small (8x8px.?) motif.]

This led to choosing a smoother boundary, suggested by the serpentine shape of the chiral motifs (b, c, and d):

Figure
5. The primary outlines of this "Squeel" (square eel)
motif are similar to Fig 1. b,
c, and d, but the pi
radian rotational symmetry is slightly broken; the "eel" head and tail
are differentiated.

An advantage of using this motif is the sinuous regions extend naturally, with from zero to many "humps". Note the close match between these motifs and the binary logarithmic spirals used to construct "Redundant Quadrapii".

The artwork could be improved by someone with some talent for natural history drawings. Depending on the scale, the "fins" don't look much like fins, partly because the body has a strong outline that separated them visually. The ray structure of the fins should be emphasized, but not too much because the bottom "fins" point in an unnatural direction -- forward instead of backward. [ To Do: ] Can this problem be solved by using twice as many motifs, with some fin rays in the opposite direction? The assymetry of a body section (the angle is about pi/4 rad. at motif boundaries, but about pi rad. at center [To Do: quick diagram] ) suggests a compound curve out of the image plane. Some highlighting and/or shading to emphasize depth, consistent with curvature and a simple weave motif, would be nice.

a |
b |
c |

Figure
6. Tesselations of the "Squeel" motif in Fig. 5 with checkerboard (a), Thue-Morse (b) and random (c) patterns.

( MATLAB commands:

>> L_system_tiling( 'CB', 3, 2, 1, 0, 'Squeel_motif_8.png', 0, [0 1; 1 0], [0 1; 1 0] );

>> L_system_tiling( 'TM', 3, 2, 1, 0, 'Squeel_motif_8.png', 0, [0 1; 1 0], [1 0; 0 1] );

>> L_system_tiling( 'RN', 3, 2, 1, 0, 'Squeel_motif_8.png', 0, 0 ); )

( MATLAB commands:

>> L_system_tiling( 'CB', 3, 2, 1, 0, 'Squeel_motif_8.png', 0, [0 1; 1 0], [0 1; 1 0] );

>> L_system_tiling( 'TM', 3, 2, 1, 0, 'Squeel_motif_8.png', 0, [0 1; 1 0], [1 0; 0 1] );

>> L_system_tiling( 'RN', 3, 2, 1, 0, 'Squeel_motif_8.png', 0, 0 ); )

Figure
7. Rotating these
patterns by pi/4 radians softens the perception of square vertex
allignments and enhances the motif contour allignments.

Figure 8. Isentropic
Squeels
is a tessellation that combines the three rotated
patterns: random at top, Thue-Morse in the middle and checkerboard
at
bottom (and some blending between divisions). The organization of Fig. 8 is reminiscent of the boundary across a phase change, either from crystalline to liquid or crystalline to glass. It would be nice to animate these Squeels and apply energetic rules to each "cell". White and black could conserve energy, and the distribution of lengths and numbers of each could be skewed. Short Squeels hungry, long Squeels more likely to be split. Perhaps dispense with the fins, leaving only cylindroids on a neutral background, or make them smaller and more streamlined. |

[ A related aside: Shape memory alloys, like Nitinol, use a meta-stability between two crystal structures. The properties are "...due to a temperature-dependent martensitic phase transformation from a low-symmetry to a highly symmetric crystallographic structure. Those crystal structures are known as martensite (at lower temperatures) and austenite (at higher temperatures). Austenite is body centered cubic, but bending causes the martensite phase, a tetrahedral crystal structure, by "displacive transformation" (not diffusion). Above some threshold temperature the stable austenite phase is energetically accessible.]

[ To Do: I cheated using a Thue-Morse pattern between checkerboard and random. How does one shuffle a checkerboard, one or two elements at a time, to become random? Set a random member to a random value, visiting each member only once?]

The fade to black at the edges of Fig. 8 is fine -- it looks like it is stretched over a half round edge. [ To Do: ] It would fit with the theme to do another pattern with Squeels wrapping around to neighbors at the edges. This would require using several pi/2 radian bend motifs, as well as pi radian rotated motifs (see below). Maybe an octagonal outer boundary. Also use simple weave motifs (Fig 9).

Figure
9. Squeel weave motifs

a |
b |
c |
d |
e |

Figure
10. By including
motifs that are pi radian rotations, four symbol systems can form
patterns that include inverted orientations of Squeels (c), or two headed and two tailed
Squeels (d and e).

MATLAB command for e?:

>> L_system_tiling( '', 4, 4, 1, 0, 'Squeel_4motif2_6.png', 0, [0 1; 3 2], [1 2; 0 3], [2 3; 1 0], [3 0; 2 1] ); )

MATLAB command for e?:

>> L_system_tiling( '', 4, 4, 1, 0, 'Squeel_4motif2_6.png', 0, [0 1; 3 2], [1 2; 0 3], [2 3; 1 0], [3 0; 2 1] ); )

[ To Do: Are there nice (clearly visible) discrete similarity tilings using these motifs? Squeels that spiral outward?]

Small modifications can be made to these motifs such that each motif has luminance values that are symmetric about some central value.

4x4 px. a |
8x8 px. b |
16x16 px. c |
32x32 px. d |

Figure 11. These motif pairs
have an equal number of black and white pixels.

36x36 px. 36x36 px. a |
72x72 px. b |

Figure 12. Pinwheel squeel motifs having
symmetric luminance.

[ To Do: Grayscale tiny Squeel motifs, bars, spatio-visual properties, 1-bit image replacements.]

While experimenting with color to texture replacement with these motifs, I came across an apparent motion illusion, "Squeel pool" is a short looping animation that demonstrates the effect. (Click on this thumbnail for the full GIF animation. Your browser window must be larger than 650 x 650 pixels for it to display properly):

The animation is four frames long, and two frames are the luminance inversions of the other two. On some browsers their are intermittent pauses and skipping of frames which extinguishes apparent motion. Best if loaded into an application that can run the animation smoothly.

In two of the frames there is a predominately black/white "edge" at texture boundaries, and this certainly has something to do with it. See the "Lucy in the Sky demonstration" for a simplified version of the effect where the motion rocks back and forth. This one continues the apparent motion in one direction using the inverse luminance for half of the full cycle.

Also see Edge contrast motion illusion examples, which depend on the same effect.

im = imread( 'Sqeel_3x3_BW_8o10.png');

im = im2/255;

L_system_tiling( '', 1, 2, 1, 0, 'HV_bars_motif.png', 0, im ); ]

------------------------------------

There are no restrictions on use of the images and animations on this page. Claiming to be the originator of the material, explicitly or implicitly, is bad karma. A link (if appropriate), a note to dow[at]uoregon.edu, and credit are appreciated but not required.

Comments are welcome (dow[at]uoregon.edu).