18-Apr-2024 17:48:38 boundary_word_drafter_test(): MATLAB/Octave version 6.4.0 Test boundary_word_drafter(). word_parity_test(): word_parity() takes the boundary word of an object and computes its parity. Index Parity 1 -2 2 -2 3 0 4 0 5 2 6 2 7 -2 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 2 18 2 19 0 20 0 21 -2 22 0 23 -2 24 0 25 0 26 -2 27 0 28 -2 29 0 30 -2 31 0 32 -2 33 0 34 -2 35 0 36 0 37 2 38 2 39 0 40 0 41 0 42 0 43 0 44 -2 45 0 46 2 47 -2 48 0 49 0 50 -2 51 0 52 -2 53 -2 54 0 55 -2 56 0 57 0 58 0 59 2 60 2 61 0 62 -2 63 0 64 -2 65 2 66 0 67 -4 68 -2 69 0 70 -2 71 -2 72 0 73 0 74 0 75 2 76 -2 77 2 78 2 79 2 80 2 81 -4 82 -2 83 -2 84 2 85 -2 86 0 87 0 88 2 89 0 90 2 91 0 92 2 93 0 94 0 95 0 96 2 97 -2 98 4 99 2 100 0 101 -2 102 -2 103 -4 104 -2 105 -2 106 0 107 2 108 0 109 2 110 0 111 0 112 -2 113 0 114 -2 115 2 116 0 117 2 118 -2 119 -2 120 0 121 -2 122 0 123 2 124 0 125 -2 126 -2 127 0 128 2 129 0 130 -4 131 -2 132 -2 133 -2 134 0 135 0 136 2 137 2 138 -2 139 -2 140 0 141 0 142 2 143 -2 144 2 145 0 146 2 147 -2 148 0 149 -4 150 -2 151 0 152 2 153 0 154 2 155 0 156 2 157 0 158 2 159 0 160 0 161 2 162 2 163 2 164 2 165 -2 166 0 167 0 168 2 169 -2 170 -2 171 0 172 0 173 0 174 2 175 2 176 2 177 4 178 0 179 2 180 0 181 -2 182 2 183 4 184 0 185 2 186 -2 187 0 188 -2 189 0 190 2 191 0 192 2 193 2 194 0 195 -2 196 -2 197 0 198 -2 199 0 200 -2 201 -2 202 0 203 2 204 2 205 2 206 2 207 -2 208 -2 209 0 word_to_parity_test(): Normal end of execution. word_print_test(): word_print() prints a boundary word for an object. Word for the Eternity grid boundary word: DddDDddDEEEEEEEEEEEEEEFffFFffFFffFFffFGGGGGGGGGGGG GGHhhHHhhHHhhHHhhHIIIIIIIIIIIIIIJjjJJjjJJjjJJjjJKK KKKKKKKKKKKKLllLLllLLllLLllLAAAAAAAAAAAAAABbbBBbbB BbbBBbbBCCCCCCCCCCCCCCDddDDddD base point : [ 0, 0 ] Word for tile001 boundary word: AAAAAAEEFfIFfIII base point : [ 0, 0 ] word_print_test(): Normal end of execution. word_range_ij_test(): word_range_ij() takes the boundary word of an object, and returns the minimum and maximum (i,j) coordinates. Object imin imax jmin jmax eternity -104 0 -90 90 hexagon 0 8 0 12 hexagon3 -6 18 0 36 rectangle 4x5 0 16 0 30 tile001 0 12 0 9 word_range_ij_test(): Normal end of execution. word_range_xy_test(): word_range_xy() takes the boundary word of an object, and returns the minimum and maximum x and y coordinates. Object xmin xmax ymin ymax eternity -26.00 0.00 -12.99 12.99 hexagon 1.50 3.50 0.00 1.73 hexagon3 -1.50 4.50 0.00 5.20 rectangle 4x5 0.00 4.00 0.00 4.33 tile001 0.00 3.00 0.00 1.30 word_range_xy_test(): Normal end of execution. word_reflect_xy_test(): word_reflect_xy() takes the boundary word of an object and a multiple of 30 degrees, and returns the boundary word of the object after reflection about that angle. reflection none: tile001: boundary word: AAAAAAEEFfIFfIII base point : [ 0, 0 ] Graphics saved as "tile001_reflect_xy_none.png" reflect across 0 angle: tile001 boundary word: KKKbBKbBCCGGGGGG base point : [ 0, 0 ] Graphics saved as "tile001_reflect_xy_000.png" reflect across 30 angle: tile001 boundary word: AAAdDAdDEEIIIIII base point : [ 0, 0 ] Graphics saved as "tile001_reflect_xy_030.png" reflect across 60 angle: tile001 boundary word: CCCfFCfFGGKKKKKK base point : [ 0, 0 ] Graphics saved as "tile001_reflect_xy_060.png" reflect across 90 angle: tile001 boundary word: EEEhHEhHIIAAAAAA base point : [ 0, 0 ] Graphics saved as "tile001_reflect_xy_090.png" reflect across 120 angle: tile001 boundary word: GGGjJGjJKKCCCCCC base point : [ 0, 0 ] Graphics saved as "tile001_reflect_xy_120.png" reflect across 150 angle: tile001 boundary word: IIIlLIlLAAEEEEEE base point : [ 0, 0 ] Graphics saved as "tile001_reflect_xy_150.png" reflect across 180 angle: tile001 boundary word: KKKbBKbBCCGGGGGG base point : [ 0, 0 ] Graphics saved as "tile001_reflect_xy_180.png" word_reflect_xy_test(): Normal end of execution. word_representative_test(): MATLAB/Octave version 6.4.0 word_representative() returns the representative for a boundary word. boundary word representative AAKbBCCGGCfFIIII AAKbBCCGGCfFIIII fFIIIIAAKbBCCGGC AAKbBCCGGCfFIIII FIIIIAAKbBCCGGCf AAKbBCCGGCfFIIII AKbBCCGGCfFIIIIA AAKbBCCGGCfFIIII word_reverse_test(): word_reverse() takes the boundary word of an object and produces the boundary word corresponding to a traversal of the same object in the reverse direction. reversal none: tile001 boundary word: AAAAAAEEFfIFfIII base point : [ 0, 0 ] Graphics saved as "tile001_reversal_none.png" reversal: tile001: boundary word: CCClLClLKKGGGGGG base point : [ 0, 0 ] Graphics saved as "tile001_reversal.png" word_reverse_test(): Normal end of execution. word_rotate_xy_test(): word_rotate_xy() takes the boundary word of an object and a multiplier R of 60 degrees, and returns the boundary word of the object after rotation by 60*R degrees. tile001: rotate 0 degrees boundary word: AAAAAAEEFfIFfIII base point : [ 0, 0 ] Graphics saved as "tile001_rotate_000.png" tile001: rotate 60 degrees boundary word: CCCCCCGGHhKHhKKK base point : [ 0, 0 ] Graphics saved as "tile001_rotate_060.png" tile001: rotate 120 degrees boundary word: EEEEEEIIJjAJjAAA base point : [ 0, 0 ] Graphics saved as "tile001_rotate_120.png" tile001: rotate 180 degrees boundary word: GGGGGGKKLlCLlCCC base point : [ 0, 0 ] Graphics saved as "tile001_rotate_180.png" tile001: rotate 240 degrees boundary word: IIIIIIAABbEBbEEE base point : [ 0, 0 ] Graphics saved as "tile001_rotate_240.png" tile001: rotate 300 degrees boundary word: KKKKKKCCDdGDdGGG base point : [ 0, 0 ] Graphics saved as "tile001_rotate_300.png" word_rotate_xy_test(): Normal end of execution. word_to_edge_ij_test(): word_to_edge_ij() takes the boundary word of an object and computes the (i,j) coordinates of the edge nodes. Graphics saved as "eternity_edge_ij.png" Graphics saved as "hexagon_edge_ij.png" Graphics saved as "hexagon3_edge_ij.png" Graphics saved as "rectangle_4x5_edge_ij.png" Graphics saved as "tile001_edge_ij.png" Boundary word for hat monotile: boundary word: KbdACfdGEhJlI base point : [ 0, 0 ] Graphics saved as "hat_monotile_edge_ij.png" Boundary word for turtle monotile: boundary word: LIlBLCADFFHEGJ base point : [ 0, 0 ] Graphics saved as "turtle_monotile_edge_ij.png" word_to_edge_ij_test(): Normal end of execution. word_to_edge_xy_test(): word_to_edge_xy() takes the boundary word of an object and computes the (x,y) coordinates of the edge nodes. Graphics saved as "eternity_edge_xy.png" Graphics saved as "hexagon_edge_xy.png" Graphics saved as "hexagon3_edge_xy.png" Graphics saved as "rectangle_4x5_edge_xy.png" Boundary word for tile001: boundary word: AAAAAAEEFfIFfIII base point : [ 0, 0 ] Graphics saved as "tile001_edge_xy.png" Boundary word for hat monotile: boundary word: KbdACfdGEhJlI base point : [ 0, 0 ] Graphics saved as "hat_monotile_edge_xy.png" Boundary word for turtle monotile: boundary word: LIlBLCADFFHEGJ base point : [ 0, 0 ] Graphics saved as "turtle_monotile_edge_xy.png" word_to_edge_xy_test(): Normal end of execution. word_to_vertex_xy_test(): word_to_vertex_xy() takes the boundary word of an object and computes the (x,y) coordinates of the vertices. Boundary word for tile001: boundary word: AAAAAAEEFfIFfIII base point : [ 0, 0 ] Boundary vertex coordinates 0 0 3.0000 0 2.5000 0.8660 1.7500 1.2990 1.5000 0.8660 0.7500 1.2990 word_to_vertex_xy_test(): Normal end of execution. word_translate_test(): word_translate() takes the boundary word of an object and a shift vector S, and returns the boundary word of the object after translation by S. Boundary word for tile001: boundary word: AAAAAAEEFfIFfIII base point : [ 0, 0 ] After shift by [2;5]: boundary word: AAAAAAEEFfIFfIII base point : [ 2, 5 ] word_translate_test(): Normal end of execution. boundary_word_drafter_test(): Normal end of execution. 18-Apr-2024 17:48:56