Start of file "Lmino-tilings.txt" [N.B: My old term for an Lmino was "trimino". Also, for the K-dimensional version, I Now call the tile a K-mino. So "2-mino" is a synonym for "Lmino", since the Lmino is 2-dimensional.] Notes to self, usage: This (tile-board :Punct '(3 7 0 ... 8) :SetDim K :Lev L :print t :Gap 2) creates a K-dimensional board, with sidelength S := 2^L, indexed as 0, 1, 2, ..., S-2, S-1. The board has 2^{L * K} cells. The :Punct tuple should have length K. If it is too short/long/missing, then it is discarded, and the corner-cell (0 0 ... 0) is used. Variables *Dim* *Lvl* *Print?* *HorizGap* are sticky; once set, they do not need to be specified. In particular, the below `(init-Dim 2)' could be replaced by (tile-board :SetDim 2 ... ). ================ E.g (tile-board :SetDim 2 :Punct '(0 2) :Lev 3 :print nil) prints "Tiled a 8^2-punct-board using 21 triminos, each with three cells." So now, (tile-board :Punct '(0 2)) will produce the same tiling and output. For a 3-D example (tile-board :SetDim 3 :Punct '(0 2 1) :Lev 3) produces "Tiled a 8^3-punct-board using XXX triminos, each with XXX cells." ================ Print levels: (tile-board :SetDim 2 :Punct '(0 2) :Lev 2 :print 0) "Tiled a 4^2-punct-board using 5 triminos, each with three cells." TRIMTUP-BUILT-BUT-NO-BOARD-CREATED (tile-board :Punct '(0 2) :print 1) "Tiled a 4^2-punct-board using 5 triminos, each with three cells." #([2-1+] [1-3-] [3-0+] [0+0+] [3-3-]) (tile-board :Punct '(0 2) :print 2) "Tiled a 4^2-punct-board using 5 triminos, each with three cells." BOARD-CREATED--NOPRINT (tile-board :Punct '(0 2) :print 3) "Tiled a 4^2-punct-board using 5 triminos, each with three cells." 0 1 2 3 :ColNums 0: D-D . B | | 1: D A B-B | 2: C A-A E | | 3: C-C E-E The spacing of the above board is poor, so I increase the Gap: (tile-board :Punct '(0 2) :print 3 :Gap 3) ... 0 1 2 3 :ColNums 0: D---D . B | | 1: D A B---B | 2: C A---A E | | 3: C---C E---E (tile-board :Punct '(0 2) :print 3 :Comment "Four score and seven years ago") ... 0 1 2 3 Four score and seven years ago 0: D---D . B | | 1: D A B---B | 2: C A---A E | | 3: C---C E---E ================ In 3-dimensions, (tile-board :SetDim 3 :Lev L :print 3) will print the board in 2^L many 2-dimensional slices. ================ In 4-dimensions and higher this (tile-board :SetDim 4 :Lev 2 :print 3) produces "Tiled a 4^4-punct-board using XXX triminos, each with XXX cells." RETURNS: No print-routine for dim D=4. Ditto for dim=1. If an illegal dimension is specified, :SetDim 0 or `platypus , then defaults to dim=2. ////================================================================\\\\ Some Lmino tiling examples Dear Mathematics Enthusiasts I have not been able to get a reasonable way to print the 4-dimensional-and-higher generalization, but here are some 2-dim examples. (init-Dim 2) (tile-board :Lev 1 :Punct '(1 0) :print t :Gap 2) 0 1 0: 1--1 | 1: . 1 (tile-board :Lev 2 :Punct '(3 1)) 0 1 2 3 0: a--a d--d | | 1: a 6--6 d | 2: 8--8 6 p | | 3: 8 . p--p (tile-board :Lev 3 :Punct '(5 7)) 0 1 2 3 4 5 6 7 0: a--a d--d e--e h--h | | | | 1: a 5--5 d e 0--0 h | | 2: m 5 0--0 3--3 0 t | | | | 3: m--m 0 p--p 3 t--t | 4: q--q 2 p u--u 2--2 | | | | 5: q 5 2--2 u 9 2 . | | 6: c 5--5 f g 9--9 j | | | | 7: c--c f--f g--g j--j (tile-board :Lev 4 :Punct '(15 4)) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0: a--a d--d e--e h--h i--i l--l m--m p--p | | | | | | | | 1: a 5--5 d e 0--0 h i 3--3 l m 8--8 p | | | | 2: m 5 0--0 3--3 0 t u 3 8--8 1--1 8 b | | | | | | | | 3: m--m 0 p--p 3 t--t u--u 8 y--y 1 b--b | | 4: q--q 2 p u--u x--x y--y b--b y 3 f--f | | | | | | | | 5: q 5 2--2 u 5--5 x y 0--0 b 3--3 8 f | | | | 6: c 5--5 f g 5 0--0 3--3 0 n o 8--8 r | | | | | | | | 7: c--c f--f g--g 0 k--k 3 n--n o--o r--r | 8: g--g j--j k--k n--n k 5 r--r s--s v--v | | | | | | | | 9: g 7--7 j k 2--2 n 5--5 0 r s 0--0 v | | | | 10: s 7 2--2 5--5 2 z a 0--0 d 3--3 0 h | | | | | | | | 11: s--s 2 v--v 5 z--z a--a d--d i 3 h--h | | 12: w--w 4 v a--a d--d e--e 2 i--i 5 l--l | | | | | | | | 13: w 7 4--4 a 8--8 d e 5 2--2 5--5 0 l | | | | 14: i 7--7 l 1--1 8 p q 5--5 t u 0--0 x | | | | | | | | 15: i--i l--l . 1 p--p q--q t--t u--u x--x This last example may linebreak in your email-reader. (tile-board :Lev 5 :Punct '(1 6)) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0: a--a d--d e--e h--h i--i l--l m--m p--p q--q t--t u--u x--x y--y b--b c--c f--f | | | | | | | | | | | | | | | | 1: a 5--5 d e 3 . h i 3--3 l m 8--8 p q 1--1 t u 6--6 x y 9--9 b c 4--4 f | | | | | | | | 2: m 5 0--0 q 3--3 t u 3 8--8 1--1 8 b c 1 6--6 9--9 6 j k 9 4--4 7--7 4 r | | | | | | | | | | | | | | | | 3: m--m 0 t q--q t--t u--u 8 y--y 1 b--b c--c 6 f--f 9 j--j k--k 4 o--o 7 r--r | | | | 4: q--q 2 t--t 5 x--x y--y b--b y 3 f--f g--g 8 f k--k n--n o--o r--r o 9 v--v | | | | | | | | | | | | | | | | 5: q 5 2--2 5--5 0 x y 0--0 b 3--3 8 f g 1 8--8 k 1--1 n o 6--6 r 9--9 4 v | | | | | | | | 6: c 5--5 f g 0--0 j 3--3 0 n o 8--8 r s 1--1 v w 1 6--6 9--9 6 d e 4--4 h | | | | | | | | | | | | | | | | 7: c--c f--f g--g j--j o 3 n--n o--o r--r s--s v--v w--w 6 a--a 9 d--d e--e h--h | | 8: g--g j--j k--k 2 o--o 5 r--r s--s v--v w--w z--z a--a d--d a 1 h--h i--i l--l | | | | | | | | | | | | | | | | 9: g 7--7 j k 5 2--2 5--5 0 r s 0--0 v w 3--3 z a 8--8 d 1--1 6 h i 6--6 l | | | | | | | | 10: s 7 2--2 w 5--5 z a 0--0 d 3--3 0 h i 3 8--8 1--1 8 p q 6--6 t 9--9 6 x | | | | | | | | | | | | | | | | 11: s--s 2 z w--w z--z a--a d--d i 3 h--h i--i 8 m--m 1 p--p q--q t--t y 9 x--x | | | | 12: w--w 4 z--z 7 d--d e--e 2 i--i 5 l--l m--m p--p m 3 t--t u--u 8 y--y 1 b--b | | | | | | | | | | | | | | | | 13: w 7 4--4 7--7 2 d e 5 2--2 5--5 0 l m 0--0 p 3--3 8 t u 1 8--8 1--1 6 b | | | | | | | | 14: i 7--7 l m 2--2 p q 5--5 t u 0--0 x 3--3 0 b c 8--8 f g 1--1 j k 6--6 n | | | | | | | | | | | | | | | | 15: i--i l--l m--m p--p q--q t--t u--u x--x c 3 b--b c--c f--f g--g j--j k--k n--n | 16: m--m p--p q--q t--t u--u x--x y--y 2 c--c 5 f--f g--g j--j k--k n--n o--o r--r | | | | | | | | | | | | | | | | 17: m 9--9 p q 4--4 t u 7--7 x y 5 2--2 5--5 0 f g 0--0 j k 3--3 n o 8--8 r | | | | | | | | 18: y 9 4--4 7--7 4 f g 7 2--2 k 5--5 n o 0--0 r 3--3 0 v w 3 8--8 1--1 8 d | | | | | | | | | | | | | | | | 19: y--y 4 b--b 7 f--f g--g 2 n k--k n--n o--o r--r w 3 v--v w--w 8 a--a 1 d--d | | | | 20: c--c 6 b g--g j--j k--k 4 n--n 7 r--r s--s 2 w--w 5 z--z a--a d--d a 3 h--h | | | | | | | | | | | | | | | | 21: c 9 6--6 g 9--9 j k 7 4--4 7--7 2 r s 5 2--2 5--5 0 z a 0--0 d 3--3 8 h | | | | | | | | 22: o 9--9 r s 9 4--4 w 7--7 z a 2--2 d e 5--5 h i 0--0 l 3--3 0 p q 8--8 t | | | | | | | | | | | | | | | | 23: o--o r--r s--s 4 z w--w z--z a--a d--d e--e h--h i--i l--l q 3 p--p q--q t--t | | 24: s--s v--v w--w 6 z--z 9 d--d e--e h--h i--i l--l m--m 2 q--q 5 t--t u--u x--x | | | | | | | | | | | | | | | | 25: s 1--1 v w 9 6--6 9--9 4 d e 4--4 h i 7--7 l m 5 2--2 5--5 0 t u 0--0 x | | | | | | | | 26: e 1 6--6 i 9--9 l m 4--4 p 7--7 4 t u 7 2--2 y 5--5 b c 0--0 f 3--3 0 j | | | | | | | | | | | | | | | | 27: e--e 6 l i--i l--l m--m p--p u 7 t--t u--u 2 b y--y b--b c--c f--f k 3 j--j | | | | 28: i--i 8 l--l 1 p--p q--q 6 u--u 9 x--x y--y 4 b--b 7 f--f g--g 2 k--k 5 n--n | | | | | | | | | | | | | | | | 29: i 1 8--8 1--1 6 p q 9 6--6 9--9 4 x y 7 4--4 7--7 2 f g 5 2--2 5--5 0 n | | | | | | | | 30: u 1--1 x y 6--6 b c 9--9 f g 4--4 j k 7--7 n o 2--2 r s 5--5 v w 0--0 z | | | | | | | | | | | | | | | | 31: u--u x--x y--y b--b c--c f--f g--g j--j k--k n--n o--o r--r s--s v--v w--w z--z \\\\================================================================//// End of file "Lmino-tilings.txt"