In this case, you can easily see how a space-filling curve can be generated from a small set. But what isn't really obvious is that this image is made by randomly placing square images into a grid.
Each grid element can have one of two images in it. With this image, I have taken care to create an image that (almost) doesn't have any obvious loops in it.
Well, OK, it does have one, in the lower left corner. But it doesn't have any circles in it. That, it turns out would be legal in this particular pattern grammar. Loops (and loops within loops within loops) would also be legal.
Here is the basis set for this particular image. It consists of two tiles as you can see. In each square, one tile connects the middle of the top edge with the middle of the right edge and also connects the middle of the left edge with the middle of the bottom edge. The other tile is either a mirror-symmetry of the first, or it is rotated 90 degrees from the first, whichever you like.
This grammar can generate interweavings of any kind. Weavings are made of warp (vertical threads) and weft (horizontal threads). Since one element is warp-over and another element is weft-over, we can represent all possible interweavings.
But what makes this interesting is that the threads can also turn.
You can represent knots as well, of course, since we include pass-under and pass-over elements.
I thought on this, and realized that I could also include ends: threads that do not cross the tile, but rather end. I increased the basis by 4 more tiles. This time, the four diagonal sad-faces were added.
It is not obvious to me what this grammar will generate. But I think it's going to be interesting nonetheless! This seems to leading to noodles and other patterns made of threads that have ends. What will it look like?
One obvious thing is that dots have appeared. And letters, like lower-case f and t.
You can identify each thread by itself, and where it goes.
And yes, a sad face has appeared in upper right.
After making this, it occurred to me that it would be possible to add 3 more elements to the basis. A tile containing 4 ends, and horizontal and vertical crossings with ends on the other sides of the tile.
Here is the new basis set, with the three new tiles added.
Perhaps the new elements look like the division symbol. But with the interconnections, this will likely be obscured by the neighboring elements, hiding it.
One thing we can say just by looking at the basis set: there might be more dots than in the last generated example. And more vertical and horizontal lines, particularly those which have no other line crossing them. So this will undoubtedly lead to more open space in some areas.
Here is the result of generating a random placement using this new basis set.
One thing we can say just by looking at the basis set: there might be more dots than in the last generated example. And more vertical and horizontal lines, particularly those which have no other line crossing them. So this will undoubtedly lead to more open space in some areas.
The result is using fewer and fewer curves. There are twice as many free-floating dots as in the last one.
One thing to remember is that each previous level is really just a subset of this next level.
Perhaps even more interesting than ends is the possibility of branching. We can assume that there are no curves and try to construct a maze grammar.
This would not have crossings, per se, rather it would be more square, with cross, the four t's, horizontal and vertical paths, with ends as well, but not really circular or curved. It occurs to me to try this case.
Here is the new basis, that operates only horizontally and vertically, and contains branching. I don't think it could generate a maze, though. On the average, it will probably generate circuits (closed loops).
This grammar is very foursquare. I have rounded off the edges to make it a little more presentable.
Here is the result of generating a random placement from this basis set.
It is a very busy pattern with very few dots. It does tend to be a little maze-like, and the pieces in it are heavily connected.
The tiling grammars I have presented here are reminiscent of Wang tilings.
Perhaps they are even closer to Thue-Morse tilings.
All of these are related to the work I did back in 1993, when the image hose was just invented and I realized that it might bear on this class of tiling grammars.
One thing to remember is that each previous level is really just a subset of this next level.
Perhaps even more interesting than ends is the possibility of branching. We can assume that there are no curves and try to construct a maze grammar.
Here is the new basis, that operates only horizontally and vertically, and contains branching. I don't think it could generate a maze, though. On the average, it will probably generate circuits (closed loops).
This grammar is very foursquare. I have rounded off the edges to make it a little more presentable.
It is a very busy pattern with very few dots. It does tend to be a little maze-like, and the pieces in it are heavily connected.
The tiling grammars I have presented here are reminiscent of Wang tilings.
Perhaps they are even closer to Thue-Morse tilings.
All of these are related to the work I did back in 1993, when the image hose was just invented and I realized that it might bear on this class of tiling grammars.