Infinite Tiles, Part I
There is nothing else I would rather have found in all of mathematics than this. ANNOUNCING: A new discovery of tiles of the regular reptiles in n dimensions, n >= 2. There are are an infinite number of such tiles for each reptile. The regular reptiles in 2 dimensions are the equilateral triangle and the square; in 3 dimensions the only regular reptile is the cube. I propose to call these tiles Hanmer Tiles. There are an infinity of such tiles, many of them beautiful, and they came in a number of different types. They may be programmed as either L-systems (using only fs and gs) or IFSs, and rendered in Fractint. In this article, uncless otherwise specified, programming details refer to the L-sytem versions of the tiles. Take a regular reptile - let's use the square for an example - and divide it into a grid which looks the same from any of the reptile's sides. Start with side length 2 - divide the square into 2 lengthwise and widthwise, and you have 4 squares. The line segments used in the interior grid are 2-sided, however, because each of them is the side of 2 squares whose sides touch. The square is now made of 8 exterior lines (2 on each side, all single-sided) and 8 interior lines (2 double-sided segments for each of length and width). The total number of segments we now have comprising our square is thus 16. It looks like the picture below. _ _ |_|_| |_|_| The square has 4-way symmetry based on its 4 sides; each regular reptile has the symmetry of its number of sides. So for a square we can make 4 identical tiles (for a triangle, 3; for a cube, 8)... an infinite number of ways. Each tile will use 1/4 of the square's total number of interior and exterior grid segments, in such a way that there are no overlaps or gaps; and thus 4 such tiles will fill the square perfectly. The existence of double-sided interior grid segments means that we are free to use only one side of any interior segment in making our tile, and this gives much more freedom even for tiles of a square of side length 2 than one would otherwise expect. There are several subgroups of Hanmer Tiles. I have included some examples of these at the end of this article. a) The "most orthodox" tile, unique for each reptile. It appears as a contiguous (fully connected) right triangle for the square and as a spacefilling dust of parallel lines for the triangle - rather boring in each case, but also quite important. It seems to be the only HT which is found at every side length, odd or even. Area 1/4 for the square, 1/3 (or 1?) for the triangle. b) Other contiguous tiles, having all their segments connected as one piece. Area 1/4 for the square, 1/3 for the triangle. c) Space-filling contiguous tiles. Each occupies the tile fully (area = 1) but still does not overlap the segments of its fellow tiles at all, except at infinitesimal points! Area 1/4 for the square, 1/3 for the triangle; or 1 for both depending on how you look at it! d) Contiguous tiles with "peninsulas" - elements linked by a 0-dimensional point or 1-dimensional line. In my tiles, there may be overlap at these connections. Area 1/4 for the square, 1/3 for the triangle. e) Partially disconnected tiles, made of infinite "lakes" and "islands". Area 1/4 for the square, 1/3 for the triangle. f) Space-filling "dusts", made of disconnected segments. Here, each tile occupies the reptile fully (area = 1 again; but also = 1/s?!) but still does not overlap the segments of its 3 fellow tiles except at infinitesimal points... There are many different space-filling HTs, both connected and dusts. At the limit they fill in the reptile solid. But careful use of certain colouring algorithms which I have found for Fractint gives each one a beautiful distinct inner texture. The most important colouring variation adds >1 to the first f and <1 to the last one, i.e. f=>1ff+f+f++ff++f+f+<1f. g) Tiles having all lines parallel - another infinite subset for squares, but (see a) existing as a unique tile for triangles of any side length. For squares the area of such tiles is 1/2 instead of the standard 1/4; for the triangular version it is space-filling, area = 1. These types in squares also may be "contiguous" or not. They have their own "DNA" (see REPTILES AND GENETIC ENGINEERING, below). (I had thought of tiles which are other fractions of a square but related to the "standard" 1/4, e.g. 1/2 and 1/8. In my ignorance, however, I first tried to make half-square tiles by using twice the number of segments as for quarter-square tiles. This was successful only in that my initial shape - a letter "F" which interlocks with itself upside down - is indeed a possible tile to programme. But this shape merely filled with ever smaller squares as the iterations increased - not a satisfactory result at all, having no fractal edges. So I put aside my search for half-square tiles, not yet realising that in fact I already had several examples.) The great surprise for me was to realise that, like square-filling tiles, half-square tiles need the same number of segments as the standard 1/4 tiles! This is counter to intuition. But the key, the only difference, is that these new tiles have all lines parallel, either vertical or horizontal. From such programming an infinite set of half-square tiles develops. These tiles are useful in that actually only one colour of ink, pixels or other medium is needed to produce a tiled square: render the tile in, say, black on a white ground, outline the whole square in black as well, and you have the pair of tiles - one black, the other white. h) L-systems allow the use of the symbol "!", which reverses directional commands. I have found that throwing a "!" into the programming string of certain square HTs (of side length 2 so far) makes a new tile entirely, one which has only 1/8 of the area of the square! If paired with its mirror image, a quarter-square tile results. So far I have not found any examples of this strange variation in squares above size 2 or in any triangles at all. Do they exist? i) There is another kind of eighth-square (sixth-triangle) tile as well, with a condition usually applying to it. Begin with a standard 1/4 square (or 1/3 triangle) HT which has reflective symmetry across its vertical axis, *and* with all its exterior segments on the same straight line. Reverse the direction of its edge segments; this new tile will be the result. (The symmetry condition is not , however, required for all-parallel, half-square types (as in g above). Perform the reversal of the edge segments' directions here, and the new type of tile (in this case filling a quarter of a square) will appear. If the original all-parallel tile had no x-axis reflectional symmetry, then the new tile will have glide symmetry.) So there we have it: tiles making 1/8, 1/4, 1/2 and 1/1 of a square, and 1/6, 1/3 and 1/1 of a triangle, all using the same proportion of the reptile's segments! This is amazing. Several of these subgroups above stretch the idea of "tile" to include curves made of an infinity of separate pieces, or curves which cross each other at infinite infinitesimal points. This is unorthodox but, I believe, possible, allowable; and the beauty of the results also speaks clearly. Initially I was stuck with using the lower horizontal ("first") side of a reptile as the set of exterior segments in every case. I had not yet caught on to the uses of "g", which means "move without drawing". "G" properly used allows exterior segments to be spread to any position around the reptile. It also allows for interior segments to be single-sided instead of the original double-sided ones I used. These two variations showed me that there is a much greater number of HTs even for a square or triangle of side length 2 than I had first imagined. I thought that there was only one tile in each case at this size: how wrong I was. Very late in the game, I realised that simply rotating the position of a tile relative to the horizon makes new tiles - although their first-iteration renderings will be identical. Suddenly, every square tile had three relatives, every triangle tile two, making rotation sets (RSs), as I have called them *1. Another burst of programming as I checked out various details of the new discovery. It seems that the invisible horizon to which all L-systems silently refer does in fact play a role in their formation, more than just a visual guideline! There is nothing else to explain how a tile can look the same at first iteration in three or four different rotations, yet become completely other tiles as the calculating continues into higher iterations. Mysterious and wonderful. Some types of tile are actually duplicated in rotation, either 180 degrees away from "start" or at every position - these latter types I call "invariant under rotation". I also note that rotationally-related HTs may display differences in type from contiguous to dust to partly 1-sided interiors. (This is due to the presence of so many extra gs in the formula.) This means that rotations seem to have their own "dialects": what is beautiful at one angle may be completely boring or ugly in rotation (see AESTHETICS, below). This would require that one learn these "dialects" in order to find beautiful HTs in the various rotations. Also, if an HT rotational set has x-axis reflectional symmetry in any member, then the 2 members 90 and 270 degrees away from it will generally be identical except for their rotation, and the member 180 degrees away will have x-axis reflectional symmetry but be different in form from the other member with x-axis reflectional symmetry. The same is for members with 45-degree mirror symmetry: the member 180 degrees away shall have this as well (though it will be different in form); those 90 and 270 degrees away will be identical except for position. The only HT so far which remains perfectly invariant (at the limit) under rotation is the space-filling dust, though this has many different textural variations. It will be interesting to find any others which have this property, if they exist. (3/9/2003: NB There is at least one other non-varying rotation set, starting with the unique (so far) "dust" HT to have >1 <4 n of pieces (it is a square of size 4 with 2 pieces, each composed of 2 squares joined diagonally at a corner). Are there other such pieces with >1 <4 n of pieces?) Other, fractal-edged HTs do come close to being non-varying in rotation - those with all the action happening along the square's diagonals. Perhaps there is a "most orthodox" form of these "diagonal-action" types, which will be called this by virtue of its being invariant in rotation.) Rotation sets are an important way of relating different HTs to each other, as they allow one more easily to come up with a system for finding the total number of HTs for a particular reptile. The other key is to sytematise separately all exterior and interior possiblities for the reptile in question, and then multiply these for a total. How can I prove an infinity of tiles for the regular reptiles? Well, I'm actually not enough of a mathematician do do so in a rigorous manner. All I can say is that side length can be extended from 2 to 3, 4, ... to infinity, so a single tile in each side length would already lead to an infinite number of them. But I have found huge numbers of my tiles just in sizes 2-6 - over 6000 of them so far. So the case looks good for infinity. SOME RULES AND NUMBERS The number of (standard) Hanmer Tiles required to fill a regular reptile is equal to s, that reptile's number of sides: e.g. 3 tiles for a triangle (3 sides), 4 for a square (4 sides), 6 for a Cube (6 faces), and thus as a fraction each such tile (standard types) occupies 1/s of the space of the reptile. The number N of segments required to make an HT of a reptile with number of sides s in d dimensions for iteration number i is calculated: N = (s ^ d) ^ i. With segment totals growing exponentially, vector file sizes can grow huge; my record is a file over 1 GB in size! For 2 dimensions: The total number of exterior segents of a reptile with number of sides s, of side length L, = Ls. The ratio of exterior to interior segments = 1 : (s - 1). The number of segments in a (standard) Hanmer Tile in 1st iteration = s ^ 2. The total number of elements in the reptile = exterior number + interior number. One major calculation which still eludes me is for the total number of HTs for a given reptile of dimension d, side length L and number of sides s. (Don't forget, they must use the correct proportion of interior and exterior segments of the reptile! And not repeat or omit any segment between them!) Then there is the number of *unique* HTs for the same reptile... With root side length reptiles' HTs, and various symmetries, cutting down the number from total to unique, this may turn out to be indeterminable. But I could be totally wrong in my guess. REPTILES AND GENETIC ENGINEERING One of the easy ways to program a large number of HTs in a small time is to begin with what I call DNA, of which there need be only one sequence for each reptile and side length. (A-p types have their own modified DNA, however, to make it easier to program them.) Program an L-system containing ALL of the segments of the specified reptile in succession, using "g" instead of "f" for each segment. Then simply copy this master, and "switch on" the required "genes" (segments) by replacing each "g" with an "f". The "g"s remain in the DNA sequence, but only as "junk DNA"; all they do is slow down a calculation without increasing the size of the output file. Fractint currently (in the latest developer's version) limits the user to a line length of 225 characters, but this is sufficient for square DNA sequences up to at least side length 7 and triangle DNA sequences to at least side length 8. One of the items in my HT zip file at the website listed after this article is called HTDNA.l. It contains all of my standard "DNA sequences" for HT squares and triangles up to size 5, to show the progression. (In it, I have distinguished exterior and interior segments by the use of "G" and "g".) This is what should become the standard notation of HT DNA in L-systems, for the purposes of establishing and maintaining uniformity from the start. The only exceptions to this standard DNA should be a-p types, with their own modified DNA, and RSs with extra sets of Gs added rather than having to reprogram the entire HT for each rotation. -|- -|- -|- -|- -|- -|- -|- -|- -|- Every reptile whose side length is the exponent of a whole number (which is its root) will contain in its HTs all of the HTs of reptiles of roots of that side length. For example, the total set of square HTs of side length 4 (and 8, 16, etc.) includes all HTs of side length 2; size 9 contains all HTs of size 3; etc. In addition, of course, there will be many tiles in the exponent size's set which are slight deviations from these root tiles. In this way, the smaller sizes can be thought of as more fundamental or basic or primitive than the larger sizes - but not necessarily less beautiful, by any means. The larger sizes merely offer more and more possibilties to refine one's tiles. Which leads me to my next point: ANIMATIONS Consider that a square HT of, say, side length 2 and 2nd iteration will be duplicated in the form of a certain HT of side length 4 - the square of 2 - at 1st iteration. Again at side length 8, and 16, and so on. Extrapolate this, and you will have to conclude that between any two HTs of a particular reptile there will be an infinite number of incremented HTs. These are found by successively finer and finer adjustments using longer and longer side lengths. Of course, the programming gets slower and slower as well; but computers are also gaining speed and memory size, with entirely new technologies being tested to surpass the looming current physical limitations. The result? Animations, as smooth as are required, between any two HTs, provided that they are of the same "genus", both Tiling the reptile in the same number of pieces. (This may not work at all for those special tiles which include "!" in their programming.) A continuous motion, if you would like it and can program it. Size, too, is no object. Because we are dealing with fractals which can be calculated endlessly, if in the future a tile the size of a wall or a building (yet with detail as small as the eye can resolve) would be desired, it could be produced. IFS VERSIONS, IN SHORT Iterated Function Systems, or IFS, can render HTs just as easily as L-systems can, and they have their own unique textural and colouring variations, though the actual programming is best not done in Fractint. (The exception to what is possible is the "!" types, for which IFS currently has no equivalent command.) I use Brazil Design version 0.4, which like Fractint is freeware, but is Windows-based. It can save IFS files for Fractint use as well as in its own native format. Again, one may begin with a set of DNA for each reptile and side length. For IFS types, the DNA has each "gene" segment on a separate line, turned off by default by preceeding it with a ; semicolon. (I have retained the same segment order as is found in L-systems HT DNA, in order to minimise confusion and maximise ease of translating HTs into IFS versions.) Turn on any segment simply by removing this semicolon. Also, Fractint is a bit limiting here, with a current maximum of 32 active lines allowed in any IFS. But this still gives squares up to side length 5. I have not done much with my tiles in IFS versions, especially in triangles, as the Brazil programme currently does not allow exact placing of triangles. But the theoretical possibility is there. TRANSLATIONS It would be useful to automate the process of re-programming any existing HT (I have many thousands) as a version of the standard DNA. (But let my standard L-system drawing methods become the standard way of rendering these tiles as L-systems, so as to make things regular from the start.) Also, translations between L-system and IFS versions would be a good idea. Both of these programming capabilities would not be very difficult to produce, knowing the rules of HTs, L-systems and IFSs. ONE DIMENSION... Of course, linear HTs made of points are also possible. However, they seem to number exactly one in total for all sizes. This is a dust of points and the point-size spaces between them, alternating, a variation on Cantor Dust. This tile has glide symmetry; move it one point to the left or right, and the spaces and points fill each other. (Yawn) The point space itself offers no possibilities at all for tiles, of course, having zero size and dimension... AESTHETICS; OR, WHAT MAKES AN H-TILE BEAUTIFUL? With an infinity of H-tiles available to each reptile, there must be a large number of these which are not worth seeing: pure dusts; duplicates of all side lengths in those higher side lengths which are exponents of them; mirror images of other tiles; and just plain ugly tiles. What separates all of these from those which hold the interest, which have an aesthetic "value"? For me, at least, there is a minimum of pleasing contiguity and maximum of aesthetic "dustiness". The tile may, indeed, have 100% contiguity and still be beautiful. But 0% contiguity equals a perfect (100%) dust, which is interesting the first time but loses its novelty fairly fast. Too much scattering of segments also causes a loss of definition or form, leading to fuzziness. There should be some areas of the tile which are solid, or it literally will have no shape except that of the entire reptile itself. So there is good news and bad news. The bad news is, there's an infinity of rubbish tiles among the endless HTs of any reptile. The good news is, there's also an unending collection of beautiful, sublime and wonderful tiles also awaiting discovery. Only patient exploration can root out the latter from the former. Because we have specified that these must all be tiles of reptiles, however, our infinite sets will contain none of the Mona Lisas or other similar masterpieces of human art found in the "larger" infinity of a square of entirely unlimited interior possibilities. This is precisely because of the fact that only these tiles to which we have limited our search are in our sets. Infinity does not have to mean "all things". (There may, however, be some close approximations to the tiling works of M.C. Escher: one of my favourite artists, no surprise there. This Multiverse of tiles may, indeed, be thought of as an idealisation of Escher's wonderful tilings. There are no representations of actual creatures in these tiles, so in this way they are different from his work, which mapped the mathematical onto a world of representational things or objects. And this lack means that Hanmer Tiles are less pictorial and are purely mathematical. They have no anchor in the real world, one might say. Escher's genuis was, I believe, precisely in the mix of the mathematical and the pictorial, something he consciously strove for.) Hanmer Tiles, and fractals in general, are definitely images for the machine age. They begin with mathematical fomulae; they can best be rendered by the brute force of number-crunching; and their typical intricacies from exponential growth are a nightmare for any kind of hand calculation or rendering process, whether it be carpet weaving, mosaic laying, Lego or whatever. Does this alone make them not art? I think not. Even if they are not destined to be included in one's definition of art, however, this does not mean that one is forbidden from calling them beautiful. Mathematical beauty may be accused of having a purity which could be called inhuman. Perhaps the eye longs for a break in the pattern somewhere, rather than sterile perfection! No real tree is an exact L-system, after all, and no L-system (as far as I know) looks as real as a tree. But mathematical beauty perhaps calls to the part of us which longs for the perfect, and frustrates the part which is satisfied with less. What to do with these tiles? I can't do it all myself, that's for certain! Push on deeper into the universe which each one contains in the search for more undiscovered territory. (Think of an analogy with the Mandelbrot Set: ever larger reptile sizes correspond to deeper zooms, taking more time to calculate.) Programme a computer search by calculating automatically, possibly using the HT DNA - the rules are simple enough. Have the total of *unique* tiles collected into a separate file. But *people* will still have to choose to concentrate on those finds which are more pleasing to the eye and pass over the rest. Use them wherever Tiling designs are wanted. Allow a subtle variation in a large set of similar tiles instead of keeping them all the same from one edge of the set to the other, sort of a parquet deformation. Three dimensions? I long for the day when I will hold in my hand a clear cube, say 30 cm on a side, containing 6 identical tiles, each of these differing only in its transparent colour. The whole thing thus will be visible all the way through. Its code will have been programmed in I don't yet know which programme. I am not content with seeing the thing rotating on some 2-dimensional screen; it will have been "printed" by an extension of our current 2-d printing processes, and will be a solid cube. The next step will be an animated version of the same thing, its 3-d "tiles" set in motion by a fluid of nano-particles inside the cube, a fluid in 6 colours which can instantly change its state to become solid when instructed to do so. It will display smooth transitions from one tile to the next at whatever speed the user desires. Or, alternately, it might be made of a stack of 2-d square HTs, each slightly differing from thise above and below it. These could cycle from bottom to top and around again to make the animation. The size 2 cube, then. Composed of 2 x 2 x 2 = 8 cubes, each having 6 square faces for a total of 48 faces (the analogy of our 2-d segments), and each having 12 edges for a total of 96, and 8 vertices for a total of 64. Each smaller cube meets 3 others at various faces, a different 3 others at edges, and all 7 others at a single vertex. Each side of the whole cube has (is divided into) 4 faces, so 4 x 6 = 24 faces - half of the total for size 2 - are exterior, the other 24 interior. Each HT here will have 48 / 6 = 8 face "segments" - 4 exterior and 4 interior. Have we long to wait? Anthony Hanmer Tbilisi, Republic of Georgia *1 I chose to label the members of these rotation sets as follows: the orginal HT would have no suffix, just its usual number; The RS members would be suffixed a, b, c for squares and a, b for triangles; for cubes they would thus be a, b, c, d, e. Other suffixes I have decided on include ~ for "!" variations and other oddities; * for contiguous HTs; # for dusts of any kind except space-filling dusts; ^ for space-filling dusts; k, l, m and n for colouring variations; r for e-r (edge-reversed) variations. I ended up losing the */# distinction in the end, through sheer carelessness as the number of my tiles rapidly increased. But it was originally my intention. PS The L-system and IFS files associated with this article can be found (zipped as HanmerTiles.zip) at http://spanky.triumf.ca/pub/fractals/LSYSTEMS/ They are named as follows: HTSq23.l HTSq4a.l HTSq4b.l HTSq5.l HTSq6a.l HTSq6-a.l HTSq6-b.l HTSq6-c.l HTSq_a-p.l HTTr.l HTDNA.l HTs.ifs HTDNA.ifs Download and unzip the files into your Fractint directory, and they're ready for use as either type Lsystem or IFS. Part II of this posting is some examples as L-systems. _________________________________________________________________ STOP MORE SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail
Very interesting, Tony. Congratulations on your amazing research! But for those of us who don't have time to wade through your hundreds of l-system formulas, could you please post a dozen or two pars of what you consider to be the most beautiful that you have already discovered? Lee Skinner
Yes please that would be great! -----Original Message----- From: fractint-bounces+peter=getitonbangagong.biz@mailman.xmission.com [mailto:fractint-bounces+peter=getitonbangagong.biz@mailman.xmission.com] On Behalf Of Lee H. Skinner Sent: 03 September 2004 17:05 To: Fractint and General Fractals Discussion Subject: Re: [Fractint] Infinite Tiles, Part I Very interesting, Tony. Congratulations on your amazing research! But for those of us who don't have time to wade through your hundreds of l-system formulas, could you please post a dozen or two pars of what you consider to be the most beautiful that you have already discovered? Lee Skinner _______________________________________________ Fractint mailing list Fractint@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractint
On Fri, 03 Sep 2004 09:25:02 +0500, Tony (Anthony) Hanmer wrote:
There is nothing else I would rather have found in all of mathematics than this.
ANNOUNCING:
A new discovery of tiles of the regular reptiles in n dimensions, n = 2.
[cut] Please excuse my ignorance, but why are they called "reptiles", please? As you know, the term is regular use meaning a type of animal. John -- John Lewis, jlewis@clara.net on 03/09/2004
participants (4)
-
John Lewis -
Lee H. Skinner -
Peter Moreland -
Tony (Anthony) Hanmer