Mark
Dow
Geek art
Simple recursive systems and fractal patterns
Various "Squeel" tessellations and related motifs, notes

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.
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 some sense universal
: a regular square tiling using any pattern will result in connected
regions with similar properties. This allows combinations of patterns
in the same image, with apparently smooth changes between properties.
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.
Figure 2. Checkerboard tessellations of motif pairs in
Fig. 1, and tessellation the pattern (
e). Each region spans two motifs.
(
Matlab command: >> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, [0 1; 1 0], [0 1; 1 0] ); )
Figure 3. Thue-Morse tessellations of motif pairs in
Fig. 1, and the tessellation pattern (
e). The regions span one, two and three motifs.
(
Matlab command: >> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, [0 1; 1 0], [1 0; 0 1] ); )
Figure 4. Random tessellations of motif pairs iin
Fig. 1, and tessellation the pattern (
e). These regions span any number of motifs.
(
Matlab command: >> L_system_tiling( '', 5, 2, 1, 0, 'Symmetry_motif_3.png', 0, 0 ); )
[ 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 logorithmic 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.
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 ); )
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
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 the 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?]
Equiluminance motifs
Part of the visual appeal of the patterns above has to do with the
local average luminance -- there is very little luminance difference in
the patterns that guide the eye as to where motifs are repeated or are
alternating. Serial inspection must be used to distinguish the length
of the Squeels, particularly if the motifs are very small. [ To Do: For
example, an offset boundary in a checkerboard pattern.]
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.]
Squeel pool motion illusion
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, which depends 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).