Diagonal 2x2 4-symbol systems

Rudin-Shapiro thumbnail

2x2 4-symbol systems where each rule is a crossed diagonal pair of symbols

 

Rudin-Shapiro 40_235_20_215

In "Remarks on the spectral properties of tight binding and Kronig-Penney models with substitution sequence", by Anton Bovier and Jean-Michel Ghez, I ran across the "Rudin-Shapiro substitution system" (although it is not commonly labeled with this name), a four symbol sequence whos rules are:

a -> [ a c ], b -> [ d c ], c -> [ a b ], d -> [ d b ]

Extended to 2-D, with each row and column having congruent rules:

a -> [ a c; c a], b -> [ d c; c d ], c -> [ a b; b a ], d -> [ d b; b d ]

Graphically, these are the rules and evolution of the system:

Rudin-Shapiro algorithm graphicRudin-Shapiro by generation

Rudin-Shapiro pattern, small

The 8th generation 2-D Rudin-Shapiro pattern.
This can be collapsed to this binary fractal by arbitrarily collapsing pairs of symbols ( [a, b ] => a', [c, d] => b' ).

 

Also see:

Patrick Morton
Connections between binary patterns and paperfolding
Journal de théorie des nombres de Bordeaux, 2 no. 1 (1990), p. 1-12 (PDF )

"... there is the beautiful fact discovered by Mendès France that the [1-D] Rudin-Shapiro sequence is exactly the direction sequence of the paperfolding sequence obtained by folding a rectangular piece of paper alternately under and over the left edge (which is held fixed). (See [2] or [4].)

[2] M. Dekking, M. Mendès France and A. van der Poorten, Folds I,II III, Math. Intelligencer 4 (1982), 130-138, 173-181, 190-195. MR 684028 | Zbl 0493.10001

[4] P. Morton and W.J. Mourant, Paper folding, digit patterns and groups of arithmetic fractals, Proc. London Math. Soc. 59, 2, (1989), 253-293. MR 1004431 | Zbl 0694.10009

 

Rotate and increment 2x2 4-symbol systems

a -> [ a b ], b -> [ c b ], c -> [ c d ], d -> [ d b ]

Extended to 2-D, with each row and column having congruent rules:

a -> [ a b; b a], b -> [ c b; b c ], c -> [ c d; d c ], d -> [ a d; d a ]

Notice that both the 1 and 2-dimensional rules have a fixed relationship between rules. Using zero-based integers as symbols for the 2-D case:

0 -> [ 0 1 ], 1 -> [ 2 1 ], 2 -> [ 2 3 ], 3 -> [ 0 3 ]

rule(n+1) = ( rule(n) mirrored, or rotated by pi + 1 ) modulo nmax, n = [ 0, 3 ] 

 For the 2-D case:

0 -> [ 0 1; 1 0 ], 1 -> [ 2 1; 1 2 ], 2 -> [ 2 3; 3 2 ], 3 -> [ 0 3; 3 0 ]

[ To Do: Graphic showing this transform. ]

rule(n+1) = ( rule(n) rotated by pi/2 + 1 ) modulo nmax, n = [ 0, 3 ]

[ To Do: This leads to a generalized progressive system of the same form. ]

[ To Do: 3-D generalization, a 6-symbol system corresponding to two rotations along each axis of a cube. ]

[ To Do: Bar motif, leading to two space filling curves, one for each motif rotation direction.

>> L_system_tiling( 'RS', 10, 4, 1, 0, 'Bars_4-rotation_CW_motif.png', 0, [0 1; 1 0], [2 1; 1 2], [2 3; 3 2], [0 3; 3 0] );

>> L_system_tiling( 'RS', 10, 4, 1, 0, 'Bars_4-rotation_CCW_motif.png', 0, [0 1; 1 0], [2 1; 1 2], [2 3; 3 2], [0 3; 3 0] );

]

[ To Do: Other 4-symbol systems using related rules on number fields. ]


 

Comments

stereographic view

 

I see an interesting crystal lattice type structure when I look at this either in parallel or crossed stereo view by aligning the two 'troughs'. Right click to see full size.  Wouldn't it be interesting if there was some kind of dimensionality buried in these tilings made accessible through stereography?

 

 

Reminds me of Carl Sagans use of Pi in Contact (spoiler). I'm seeing 2 prominent layers and a few other layers that have binocular rivalry and sort of, flicker. It might be interesting to make a stereo movie of something like this that slowly sweeps through different offsets. Nice work BTW.  

Side note on making a borromean ring stereograph.  


 

stereo in aperiodic patterns

I'm glad you noticed that! As you know I've made a bunch of aperiodic patterns, all based on period doubling recursive sequences. These all have the character of perfect redundundancy -- any one pattern (set of neighboring pixels) WILL reoccur further down in the pattern. An infinite number of times, in fact.

So the first thing I do when I make a new one is look at it cross viewed in stereo. It's a good way to find where these redundancies occur. This one is particuarly complex because of the interleaving of the redundancies. Also notice that there are many disparities that it works for, and this one you picked out is only special because there is a more than usual correspondence.

I'm using this idea in a more formal way to explore the basic Period-doubling and Thue-Morse sequencies. The correlation between a sequence and the same sequence decimated with some offset (autocorrelation) is related to the prime factors of the offset. I don't know exactly how yet, but I'm working on formalizing the math.

Your intuition that "there is some buried dimensionality" is correct. The dimensions are prime numbers (any integer, the index of a pixel) can be formed by products of the primes. 

I just ran across an abstract by searching on "Moire Prime": Moire patterns: nonconventional applications. I haven't found the paper, but I know what they mean by "an optical setup for implementing Erathosthenes sieve of prime numbers". Basically I'm doing the same thing, using an image editor to interfer patterns with themselves to find prime factors.

I don't recall Pi in "Contact". But the aliens used primes for communication, they knew they would be universal.

rendering disparities

I think it would be really interesting to start with a pattern like this, extract the autocorrelated depth layers as z-axis slices, and then rebuild it as a volume using space software as a stack of images.  How might one best go about extracting the stereographically perceived layers?

It seems like making a series of images with increasing ...offsets?...disparities?... and then subtracting each offset image from the first image would generate a stack like this...Mark would you be willing to try a MATLAB quick and dirty of this kind of volume extraction on the above image?



correspondence problem

Finding a depth map like you suggest requires finding a solution to the correspondence problem. It is not well constrained, requiring assumptions. There are some standard approximations that use human visual psychophysics for constraints. I've been interested in this problem for a long while: given a stereo pair, find a "good" depth map. This was part of the motivation for working on Scale Space Edges (edges are good correspondence features). How humans find a good solution in the blink of an eye is a fascinating question, as it is not trivial with serial machine vision.

There are some quick and dirty approximations that are OK. For example (and like you suggest), find the autocorrelation at all disparities and pick a maximum (this would get the background of the stereo disparity you marked). Repeat ad infinitum for all the pixels that didn't match. But it is still trickier than you might imagine -- we are fooled by our brains ability to do this task easily, in the face of ambiguous information.

I don't think I'm going to spend the time right now to find a "depth map" for these figures, but I'll keep it in mind. I am planning to write some autocorrelation code that might be put to use for this purpose.

You might want to try the software at http://vision.middlebury.edu/stereo/ to find depth maps.

Post new comment

Security question, designed to stop automated spam bots