Friday, April 20, 2018

Co-similarity in fractals

Fractal shapes are self similar, but can you have two shapes that are mutually similar? By that I mean that each is composed of smaller copies of itself and the other shape. This is very similar to the research area of self tiling tile sets but without constraining to just dense shapes, and without allowing reflections of shapes.
To investigate I'll have to create some definitions.

Let us define self-similarity in a strict sense as:

self-similarity:
 shape A is composed of a finite number of smaller copies of shape A

I'll then define cross-similarity as:

cross-similarity:
 distinct shapes A,B,C,.. are composed of a finite number of smaller copies of each shape A,B,C,..

A special case I'll label as:

co-similarity:
 distinct shapes A,B,C,.. are composed of one smaller copy of each shape A,B,C,..

So unlike self-similarity, co-similar shapes mutually nest inside each other. The simplest non-trivial special case is for two shapes A,B. Let's label them twin-fractals.

twin-fractals:
 shape A is composed of a small copy of shape A and shape B
 shape B is composed of a small copy of shape A and shape B

i.e.
 A = aT1A + bT2B
 B = cT3A + dT4B  for some scalars 0 < a,b,c,d < 1 and Euclidean transforms Ti

If shape B can be placed next to shape A to generate a larger copy of shape A, then B is called a gnomon of A. So a special case of twin-fractals are twin-gnomons, these are twin fractals where shape A and shape B have the same relative scale when composing.

twin-gnomons:
 shape A and shape B compose to a larger copy of shape A
 shape A and shape B compose to a larger copy of shape B

i.e. 
  A = aT1A + aT2B
  B = cT3A + cT4B  for scalars 0 < a,c < 1

We can find these using an Iterated Function System or limit-sets approach. Here are some examples. The white is shape A, yellow and pink are shape B in its two locations: 















A special case of twin-gnomons I'll call twin-tiles, these are twin-gnomons where the same scale is used for composing shapes A and B:

twin-tiles:
 shape A and shape B compose to a larger copy of shape A
 shape A and shape B compose to a larger copy of shape B, with the same enlargement factor

i.e.
  A = aT1A + aT2B
  B = aT3A + aT4B  for scalar 0 < a < 1

Here are equivalent twin tiles:
A feature of the twin tiles is that one can grow larger and larger versions of shape A and B by composing in the two ways, so it exhibits co-similarity.

I'm uncertain whether any of these can be made dense, but I am certain that they can be made to be connected. I think the best results come when the composition is just touching without overlap. This is close in the top image of the set above, but the yellow shape B doesn't quite touch at the bottom and the pink shape B overlaps a little. If I tweak the transforms we get something that is more connected:
I think this is an interesting area to explore. White and yellow are mutually similar, rather than self-similar shapes.

As I mentioned, these are very similar to the researched are of self tiling tile sets or setisets for short. These tile sets have any number of tiles, but they are restricted to just dense tiles. Their work presents a solution for the two tile case but it requires reflection so the shapes aren't symmetric through a similarity transform.