• a two transform tiling not in the Kenyon 17

    From Roger Bagula@21:1/5 to All on Sat Jan 20 13:43:13 2018
    The 17 Kenyon tiles are here: http://www.math.brown.edu/~rkenyon/gallery/all17.pdf
    My tiling has a self-similar overlap, but it does rtile.
    I call this approach the Minimal Pisot model of badly aproximated rational polynomials.
    With some little derivation and programing efforts I got the following polynomials.
    {-1 - 1/x^(14/9) + x^(4/9), -1 - 1/x^(3/2) + Sqrt[x], -1 - 1/x^(10/7) + x^(
    4/7), -1 - 1/x^(7/5) + x^(3/5), -1 - 1/x^(4/3) + x^(2/3), -1 - 1/x^(5/4) +
    x^(3/4), -1 - 1/x^(6/5) + x^(4/5), -1 - 1/x^(8/7) + x^(6/7), -1 - 1/x^(
    10/9) + x^(8/9), -1 - x^(6/7) + x^(20/7), -1 - x + x^3, -1 - x^(6/5) + x^(
    16/5), -1 - x^(4/3) + x^(10/3), -1 - x^(3/2) + x^(7/2), -1 - x^(8/5) + x^(
    18/5)}
    I, then, used the Akiyama Curley tile type program to sift through the polynomials.
    This polynomial bar two was near the last experiment.
    This experimental approach is an Edison light bulb approach.
    Since it took me a year or so to find this with trying every approach I could think of,
    I can’t claim much except I kept at it feeling there was a tiling there somewhere.
    I actually think there are others.
    (*Mathematica program*)
    Clear[f, dlst, pt, cr, ptlst, M, r, p, rotate, r0]
    (*IFS 2343 tilingby Roger L.Bagula 20 Jan 2018©*)

    allColors = ColorData["Legacy"][[3, 1]];
    firstCols = {"LightBlue", "Blue", "Cyan", "White", "Yellow", "Red", "White",
    "DeepNaplesYellow", "Tomato", "Pink", "LightPink", "White", "Purple",
    "DarkOrchid", "Magenta", "DodgerBlue", "GoldOchre", "LightPink", "Magenta",
    "Green", "DarkOrchid", "LightSalmon", "LightPink", "Sienna", "Green",
    "Mint", "DarkSlateGray", "ManganeseBlue", "SlateGray", "DarkOrange",
    "MistyRose", "DeepNaplesYellow", "GoldOchre", "SapGreen", "Yellow",
    "Yellow", "Tomato", "DeepNaplesYellow", "DodgerBlue", "Cyan", "Red",
    "Blue", "DeepNaplesYellow", "Green", "Magenta", "DarkOrchid",
    "LightSalmon", "LightPink", "Sienna", "Green", "Mint", "DarkSlateGray",
    "ManganeseBlue", "SlateGray", "DarkOrange", "MistyRose",
    "DeepNaplesYellow", "GoldOchre", "SapGreen", "Yellow", "LimeGreen"};
    cols = ColorData["Legacy", #] & /@
    Join[firstCols, Complement[allColors, firstCols]];

    (*IFS definition in Mathematica*)
    Clear[x, y]
    NSolve[-1 - 1/x^(4/3) + x^(2/3) == 0, x]
    r = x /. NSolve[-1 - 1/x^(4/3) + x^(2/3) == 0, x][[3]]

    (*definition of complex power constants*)
    c = Re[r]
    s = Im[r]
    c1 = Re[r^(2/3)]
    s1 = Im[r^(2/3)]
    c2 = Re[r^(4/3)]
    s2 = Im[r^(4/3)]

    (*IFS program type*)

    f[1, {x_, y_}] = {x*c2 - s2*y + c2, s2*x + c2*y + s2};
    f[2, {x_, y_}] = {x*c1 - s1*y + c1, s1*x + c1*y + s1};

    pt = {0.5, 0.5};
    it = 3000000;

    dlst = Table[Which[(r = RandomReal[]) <= 1/3 + 0.02, 1, True, 2], {it}];
    cr[n_] := cr[n] = cols[[n]];
    cr2[n_] := cr2[n] = cols[[n + 4]];
    cr3[n_] := cr3[n] = cols[[n + 8]];
    cr4[n_] := cr4[n] = cols[[n + 12]];
    aa = Table[pt = f[dlst[[j]], pt], {j, Length[dlst]}];
    ptlst = Point[Developer`ToPackedArray[aa],
    VertexColors -> Developer`ToPackedArray[cr2 /@ dlst]];
    g2 = Graphics[{PointSize[.001], ptlst}, AspectRatio -> Automatic,
    ImageSize -> 1500, Background -> Black, PlotRange -> {{-1, 1}, {-1, 1.}} 1.5] (* complement set*)
    bb = Table[pt = f[dlst[[j]], pt], {j, Length[dlst]}];
    cc = Table[bb[[i]]/(bb[[i]].bb[[i]]), {i, Length[bb]}];
    ptlst1 = Point[Developer`ToPackedArray[cc],
    VertexColors -> Developer`ToPackedArray[cr /@ dlst]];
    gb = Graphics[{PointSize[.001], ptlst1}, AspectRatio -> Automatic,
    ImageSize -> 1000, PlotRange -> {{-4, 4}, {-4, 4}}*5/4, Background -> Black]

    Show[{g2, gb}, PlotRange -> {{-4, 4}, {-4, 4}} 3]
    (* sphere conformal map*)

    bb0 = Table[{2*cc[[i, 1]], 2*cc[[i, 2]],
    1 - cc[[i]].cc[[i]]}/(1 + cc[[i]].cc[[i]]), {i, Length[cc]}];
    ptlsb = Point[Developer`ToPackedArray[bb0],
    VertexColors -> Developer`ToPackedArray[cr3 /@ dlst]];
    cc0 = Table[{2*cc[[i, 1]],
    2*cc[[i, 2]], -(1 - cc[[i]].cc[[i]])}/(1 + cc[[i]].cc[[i]]), {i,
    Length[cc]}];
    ptlsc = Point[Developer`ToPackedArray[cc0],
    VertexColors -> Developer`ToPackedArray[cr2 /@ dlst]];
    g22a = Graphics3D[{PointSize[.001], ptlsb, ptlsc}, AspectRatio -> Automatic,
    PlotRange -> {{-1.01, 1.01}, {-1.01, 1.01}, {-1.01, 1.01}},
    ImageSize -> {1000, 1000}, Background -> Black, ViewPoint -> {-5, 5, 2},
    Boxed -> False]
    (* end*) https://lh3.googleusercontent.com/dsPV4EAXCDdEcwJt5n-zXnfXZuCynYAaJBm0ECSNB6RQxeiwGYKpqfGCZNBt9ZqOieOzAF756jZusmDYMle4lkj6ltdCOI1gzIioEw=s220

    https://lh3.googleusercontent.com/jCSbpJitg3jQNtyghBYYFLjGIX5u84gIqkEs_HZfg2esZ0hUCK0Wlw1TWs62SruNkb3fpFyKXGSUmBeEz8K35TqpseH2WTtHj9RzGg=w170-h220

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger Bagula@21:1/5 to All on Sat Jan 20 13:55:19 2018
    Oh , Damn, it's #9...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stewart Robert Hinsley@21:1/5 to Roger Bagula on Sun Jan 21 12:43:07 2018
    On 20/01/2018 21:43, Roger Bagula wrote:
    The 17 Kenyon tiles are here: http://www.math.brown.edu/~rkenyon/gallery/all17.pdf
    My tiling has a self-similar overlap, but it does rtile.
    I call this approach the Minimal Pisot model of badly aproximated rational polynomials.
    With some little derivation and programing efforts I got the following polynomials.
    {-1 - 1/x^(14/9) + x^(4/9), -1 - 1/x^(3/2) + Sqrt[x], -1 - 1/x^(10/7) + x^(
    4/7), -1 - 1/x^(7/5) + x^(3/5), -1 - 1/x^(4/3) + x^(2/3), -1 - 1/x^(5/4) +
    x^(3/4), -1 - 1/x^(6/5) + x^(4/5), -1 - 1/x^(8/7) + x^(6/7), -1 - 1/x^(
    10/9) + x^(8/9), -1 - x^(6/7) + x^(20/7), -1 - x + x^3, -1 - x^(6/5) + x^(
    16/5), -1 - x^(4/3) + x^(10/3), -1 - x^(3/2) + x^(7/2), -1 - x^(8/5) + x^(
    18/5)}
    I, then, used the Akiyama Curley tile type program to sift through the polynomials.
    This polynomial bar two was near the last experiment.
    This experimental approach is an Edison light bulb approach.
    Since it took me a year or so to find this with trying every approach I could think of,
    I can’t claim much except I kept at it feeling there was a tiling there somewhere.
    I actually think there are others.
    (*Mathematica program*)
    Clear[f, dlst, pt, cr, ptlst, M, r, p, rotate, r0]
    (*IFS 2343 tilingby Roger L.Bagula 20 Jan 2018©*)

    allColors = ColorData["Legacy"][[3, 1]];
    firstCols = {"LightBlue", "Blue", "Cyan", "White", "Yellow", "Red", "White",
    "DeepNaplesYellow", "Tomato", "Pink", "LightPink", "White", "Purple",
    "DarkOrchid", "Magenta", "DodgerBlue", "GoldOchre", "LightPink", "Magenta",
    "Green", "DarkOrchid", "LightSalmon", "LightPink", "Sienna", "Green",
    "Mint", "DarkSlateGray", "ManganeseBlue", "SlateGray", "DarkOrange",
    "MistyRose", "DeepNaplesYellow", "GoldOchre", "SapGreen", "Yellow",
    "Yellow", "Tomato", "DeepNaplesYellow", "DodgerBlue", "Cyan", "Red",
    "Blue", "DeepNaplesYellow", "Green", "Magenta", "DarkOrchid",
    "LightSalmon", "LightPink", "Sienna", "Green", "Mint", "DarkSlateGray",
    "ManganeseBlue", "SlateGray", "DarkOrange", "MistyRose",
    "DeepNaplesYellow", "GoldOchre", "SapGreen", "Yellow", "LimeGreen"};
    cols = ColorData["Legacy", #] & /@
    Join[firstCols, Complement[allColors, firstCols]];

    (*IFS definition in Mathematica*)
    Clear[x, y]
    NSolve[-1 - 1/x^(4/3) + x^(2/3) == 0, x]
    r = x /. NSolve[-1 - 1/x^(4/3) + x^(2/3) == 0, x][[3]]

    (*definition of complex power constants*)
    c = Re[r]
    s = Im[r]
    c1 = Re[r^(2/3)]
    s1 = Im[r^(2/3)]
    c2 = Re[r^(4/3)]
    s2 = Im[r^(4/3)]

    (*IFS program type*)

    f[1, {x_, y_}] = {x*c2 - s2*y + c2, s2*x + c2*y + s2};
    f[2, {x_, y_}] = {x*c1 - s1*y + c1, s1*x + c1*y + s1};

    pt = {0.5, 0.5};
    it = 3000000;

    dlst = Table[Which[(r = RandomReal[]) <= 1/3 + 0.02, 1, True, 2], {it}]; cr[n_] := cr[n] = cols[[n]];
    cr2[n_] := cr2[n] = cols[[n + 4]];
    cr3[n_] := cr3[n] = cols[[n + 8]];
    cr4[n_] := cr4[n] = cols[[n + 12]];
    aa = Table[pt = f[dlst[[j]], pt], {j, Length[dlst]}];
    ptlst = Point[Developer`ToPackedArray[aa],
    VertexColors -> Developer`ToPackedArray[cr2 /@ dlst]];
    g2 = Graphics[{PointSize[.001], ptlst}, AspectRatio -> Automatic,
    ImageSize -> 1500, Background -> Black, PlotRange -> {{-1, 1}, {-1, 1.}} 1.5]
    (* complement set*)
    bb = Table[pt = f[dlst[[j]], pt], {j, Length[dlst]}];
    cc = Table[bb[[i]]/(bb[[i]].bb[[i]]), {i, Length[bb]}];
    ptlst1 = Point[Developer`ToPackedArray[cc],
    VertexColors -> Developer`ToPackedArray[cr /@ dlst]];
    gb = Graphics[{PointSize[.001], ptlst1}, AspectRatio -> Automatic,
    ImageSize -> 1000, PlotRange -> {{-4, 4}, {-4, 4}}*5/4, Background -> Black]

    Show[{g2, gb}, PlotRange -> {{-4, 4}, {-4, 4}} 3]
    (* sphere conformal map*)

    bb0 = Table[{2*cc[[i, 1]], 2*cc[[i, 2]],
    1 - cc[[i]].cc[[i]]}/(1 + cc[[i]].cc[[i]]), {i, Length[cc]}];
    ptlsb = Point[Developer`ToPackedArray[bb0],
    VertexColors -> Developer`ToPackedArray[cr3 /@ dlst]];
    cc0 = Table[{2*cc[[i, 1]],
    2*cc[[i, 2]], -(1 - cc[[i]].cc[[i]])}/(1 + cc[[i]].cc[[i]]), {i,
    Length[cc]}];
    ptlsc = Point[Developer`ToPackedArray[cc0],
    VertexColors -> Developer`ToPackedArray[cr2 /@ dlst]];
    g22a = Graphics3D[{PointSize[.001], ptlsb, ptlsc}, AspectRatio -> Automatic,
    PlotRange -> {{-1.01, 1.01}, {-1.01, 1.01}, {-1.01, 1.01}},
    ImageSize -> {1000, 1000}, Background -> Black, ViewPoint -> {-5, 5, 2},
    Boxed -> False]
    (* end*) https://lh3.googleusercontent.com/dsPV4EAXCDdEcwJt5n-zXnfXZuCynYAaJBm0ECSNB6RQxeiwGYKpqfGCZNBt9ZqOieOzAF756jZusmDYMle4lkj6ltdCOI1gzIioEw=s220

    https://lh3.googleusercontent.com/jCSbpJitg3jQNtyghBYYFLjGIX5u84gIqkEs_HZfg2esZ0hUCK0Wlw1TWs62SruNkb3fpFyKXGSUmBeEz8K35TqpseH2WTtHj9RzGg=w170-h220


    As you subsequently note is the 9th tile in Kenyon's set.

    What you've effectively done is take this tile with dissection equation
    x + x^3 = 1, and replaced the x^3 element by an x^2 element, with an
    overlap of x^5.

    I haven't attempted to do anything in this area myself, but I've noted a strategy at

    http://www.stewart.hinsley.me.uk/Fractals/IFS/Tiles/Rauzy.php

    The modified dissection equation

    x + x^2 - x^5 = 1

    is the same as

    (x - 1)(x + 1)(x + x^3 - 1)

    so has the same Perron number as x + x^3 = 1

    The rules of the game if you're attempting to add to Kenyon's set is
    that that the tile should be able to be dissected into directly (no reflections) self-similar non-overlapping parts. You can relax the rules
    in various ways, but then you're not addressing Kenyon's conjecture that
    there are only 17 self-similar order 2 tiles.

    You can relax the rules to allow reflections, which gives several more
    order 2 rep-tiles. (I have a conjecture that reflections don't work for
    cubic Perron numbers because the unit cells don't have reflectional
    symmetry.) Counting gets messy because there's a couple of continuously deformable tiles (which to confuse the matter further include two of the
    Kenyon 17 among the sets).

    You can relax the rules to allow graph directed IFSs rather than
    stateless IFSs. I've played around with graph directed IFSs before, but
    not directed at this particular problem. I recall Dmitri (ifstile.com) producing some order 2 tiles based on graph directed IFSs, including a different isoceles triangle to the one in Kenyon's set. This may be
    equivalent to or somewhat more restrictive that relaxing the rules to
    allow overlaps.

    You also can relax the rules to allow the disssection to be self-affine.
    This converts Kenyon's 17 tiles into 17 continously deformable sets, but
    there might be additional tiles. (I know that there are an order 3
    self-affine triangles which are not equivalent to the order 3
    self-similar triangles, though in all cases the sets include all
    possible trianges - it's the dissections that are different. The order 3 self-similar triangle is the half-sunburst; the other self-affine ones
    are the order 3 starburst and order 3 cloudburst.)

    --
    SRH

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger Bagula@21:1/5 to All on Sun Jan 21 13:42:54 2018
    My badly approximated rational approach was successful in one thing:
    it was a new way to get the same old minimal Pisot cubic tiles, LOL.
    I haven't given up.
    Thanks you for your suggestions.
    I've had success with Kleinian group Thurston-Cannon maps using a two matrix Moran approach: it turns out that the Twin dragon type tiling corresponds to a
    4_1 Figure 8 knot as a quadratic space filling set. The Weeks hyperbolic 3 manifold has been identified as being associated with the Minimal Pisot cubic as well. It appears that finding Thurston -Cannon sphere filling sets with two generators is in
    parallel to the Kenyon 17 problem. Riemannian geometry is universal surfaces as well as spaces.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Roger Bagula@21:1/5 to All on Sat Jun 2 11:17:07 2018
    I had forgotten about this two transform overlap square space fill whose second transform is a chair:
    Although the 4 set is a space filling set there is a internal pattern
    that forms ( filling more slowly). The Sierpinski overlap sets on two transforms
    use the rotational symmetry effect to cover the sets.

    (* Mathematica*)
    Clear[cr, cols, cr2, cr3, cr4, firstCols]
    allColors = ColorData["Legacy"][[3, 1]];
    firstCols = {"White", "DodgerBlue", "AliceBlue", "LightBlue" , "Cyan",
    "ManganeseBlue" , "Blue", "Magenta", "Purple", "DarkOrchid", "White",
    "AliceBlue", "LightBlue" , "Cyan", "ManganeseBlue", "DodgerBlue" , "Blue",
    "Magenta", "Purple", "DarkOrchid", "DeepNaplesYellow", "Gold", "Banana",
    "Yellow", "Pink", "Tomato", "Red", "DarkOrange", "Orange",
    "DeepNaplesYellow", "Gold", "Banana", "Yellow", "LightYellow", "Orange",
    "Pink", "LightPink", "Yellow", "LightYellow", "LightPink", "White",
    "DeepNaplesYellow", "Orange", "DarkOrange", "Tomato", "Red", "Tomato",
    "Pink", "LightPink", "DeepNaplesYellow", "Orange", "DarkOrange", "Tomato",
    "White", "Pink", "Banana", "LightBlue", "DodgerBlue", "Cyan", "White",
    "Purple", "DarkOrchid", "Magenta", "ManganeseBlue", "DeepNaplesYellow",
    "Orange", "DarkOrange", "Tomato", "GoldOchre", "LightPink", "Magenta",
    "Green", "DarkOrchid", "LightSalmon", "LightPink", "Sienna", "Green",
    "Mint", "DarkSlateGray", "ManganeseBlue", "SlateGray", "DarkOrange",
    "MistyRose", "DeepNaplesYellow", "GoldOchre", "SapGreen", "Yellow",
    "Yellow", "Tomato", "DeepNaplesYellow", "DodgerBlue", "Cyan", "Red",
    "Blue", "DeepNaplesYellow", "Green", "Magenta", "DarkOrchid",
    "LightSalmon", "LightPink", "Sienna", "Green", "Mint", "DarkSlateGray",
    "ManganeseBlue", "SlateGray", "DarkOrange", "MistyRose",
    "DeepNaplesYellow", "GoldOchre", "SapGreen", "Yellow", "LimeGreen"};
    cols = ColorData["Legacy", #] & /@
    Join[firstCols, Complement[allColors, firstCols]];
    rotate[theta_] := {{Cos[theta], -Sin[theta]}, {Sin[theta], Cos[theta]}}; Clear[f, dlst, pt, cr, ptlst, r, m]
    m = 4;
    dlst = Table[ Random[Integer, {1, 2}], {n, 2500000}];
    r[3] = 2;
    r[4] = 2;
    r[5] = (Sqrt[5] + 1)/2 + 1;
    r[6] = 3;
    r[7] = 2 + Sqrt[1.5];
    r[8] = 2 + Sqrt[2];
    M = Table[
    If[n == 1, {{1, 0}, {0, 1}}/
    r[m], {{Cos[2*Pi/m], -Sin[2*Pi/m]}, {Sin[2*Pi/m], Cos[2*Pi/m]}}], {n, 1,
    8}]
    in = Table[If[n == 1, {0, 0}, {-1/2, Sqrt[3]/2}], {n, 1, 8}]
    f[j_, {x_, y_}] := M[[j]]. {x, y} + in[[j]]
    pt = {0.0, 0.0};
    cr[n_] := cr[n] = cols[[n]];
    cr2[n_] := cr2[n] = cols[[n + 4]];

    ptlst = Point[
    Developer`ToPackedArray[Table[pt = f[dlst[[j]], pt], {j, Length[dlst]}]],
    VertexColors -> Developer`ToPackedArray[cr /@ dlst]];
    g2 = Graphics[{PointSize[.001], ptlst}, AspectRatio -> Automatic,
    PlotRange -> All, ImageSize -> {1000, 1000}, Background -> Black]' Export["Sierpinski4overlap.jpg", g2]
    (* end*) https://i.pinimg.com/564x/33/7b/9e/337b9ec9a79642432cfccc39f47d638f.jpg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)