07-Jan-2022 16:32:14 boundary_word_hexagon_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_word_hexagon() is a library of boundary word functions for polyhexes, shapes defined on a grid of hexagons. boundary_is_legal_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_is_legal() checks whether a polyhex boundary word is legal. Name Boundary word Legal? arch "121232343456165456" True bar "123232323456565656" True bee "12123434545616" True pistol "1232123434565656" True propeller "121612343234565456" True wave "121232123454565456" True worm "123232123454565656" True Illegal character "123230323456560656" False 3 and 6 do not match "123232323456565356" False Nonunit step "123234356565656232" False boundary_is_legal_test(): Normal end of execution. boundary_plot_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_plot() plots a polyhex from its boundary word. Graphics saved as "arch_boundary.png" Graphics saved as "bar_boundary.png" Graphics saved as "bee_boundary.png" Graphics saved as "pistol_boundary.png" Graphics saved as "propeller_boundary.png" Graphics saved as "wave_boundary.png" Graphics saved as "worm_boundary.png" boundary_plot_test(): Normal end of execution. boundary_print_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_print() prints the boundary word of a polyhex. arch hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] bar hex boundary word: "123232323456565656" base point (i,j) : [ 0, 0 ] bee hex boundary word: "12123434545616" base point (i,j) : [ 0, 0 ] pistol hex boundary word: "1232123434565656" base point (i,j) : [ 0, 0 ] propeller hex boundary word: "121612343234565456" base point (i,j) : [ 0, 0 ] wave hex boundary word: "121232123454565456" base point (i,j) : [ 0, 0 ] worm hex boundary word: "123232123454565656" base point (i,j) : [ 0, 0 ] boundary_print_test(): Normal end of execution. boundary_range_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_range() finds the minimum and maximum I and J coordinates of a polyhex described by its boundary word W and starting at P(i,j). Name Imin Imax Jmin Jmax Pi Pj W arch -3 2 0 6 0 0 "121232343456165456" bar -4 1 0 8 0 0 "123232323456565656" bee -3 2 0 4 0 0 "12123434545616" pistol -3 1 0 6 0 0 "1232123434565656" propeller -1 4 0 5 0 0 "121612343234565456" wave -1 2 0 6 0 0 "121232123454565456" worm -3 1 0 7 0 0 "123232123454565656" boundary_range_test(): Normal end of execution. boundary_reflect_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_reflect() is given a boundary word W and base point P, and reflects about the 0, 60, or 120 degree axis. pistol hex boundary word: "1232123434565656" base point (i,j) : [ 0, 0 ] pistol, 0 degree reflection hex boundary word: "1656165454323232" base point (i,j) : [ 0, 0 ] pistol, 60 degree reflection hex boundary word: "3212321616545454" base point (i,j) : [ 0, 0 ] pistol, 120 degree reflection hex boundary word: "5434543232161616" base point (i,j) : [ 0, 0 ] Graphics saved as "boundary_reflect_test.png" boundary_reflect_test(): Normal end of execution. boundary_representative_test(): boundary_representative() is given a boundary word, and returns the representative of its equivalence class. "rotated" arch: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "212323434561654561" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "123234345616545612" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "232343456165456121" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "323434561654561212" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "234345616545612123" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "343456165456121232" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "434561654561212323" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "345616545612123234" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] "rotated" arch: hex boundary word: "456165456121232343" base point (i,j) : [ 0, 0 ] "rotated" arch representative: hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] boundary_representative_test(): Normal end of execution. boundary_rotate_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_rotate() rotates a polyhex described by its boundary word. Graphics saved as "boundary_rotate_worm_000.png" Graphics saved as "boundary_rotate_worm_060.png" Graphics saved as "boundary_rotate_worm_120.png" Graphics saved as "boundary_rotate_worm_180.png" Graphics saved as "boundary_rotate_worm_240.png" Graphics saved as "boundary_rotate_worm_300.png" boundary_rotate_test(): Normal end of execution. boundary_snap_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_snap() translates a polyhex so that it has minimum I and J node coordinates of 0. Graphics saved as "boundary_snap_test.png" boundary_snap_test(): Normal end of execution. boundary_sort_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_sort() is given a boundary word and base point and "rotates" it to have lexically smallest base point. arch hex boundary word: "121232343456165456" base point (i,j) : [ 0, 0 ] arch after sorting: hex boundary word: "561654561212323434" base point (i,j) : [ -3, 5 ] bar hex boundary word: "123232323456565656" base point (i,j) : [ 0, 0 ] bar after sorting: hex boundary word: "565656561232323234" base point (i,j) : [ -4, 7 ] bee hex boundary word: "12123434545616" base point (i,j) : [ 0, 0 ] bee after sorting: hex boundary word: "56161212343454" base point (i,j) : [ -3, 2 ] pistol hex boundary word: "1232123434565656" base point (i,j) : [ 0, 0 ] pistol after sorting: hex boundary word: "5656561232123434" base point (i,j) : [ -3, 5 ] propeller hex boundary word: "121612343234565456" base point (i,j) : [ 0, 0 ] propeller after sorting: hex boundary word: "561216123432345654" base point (i,j) : [ -1, 1 ] wave hex boundary word: "121232123454565456" base point (i,j) : [ 0, 0 ] wave after sorting: hex boundary word: "561212321234545654" base point (i,j) : [ -1, 1 ] worm hex boundary word: "123232123454565656" base point (i,j) : [ 0, 0 ] worm after sorting: hex boundary word: "565656123232123454" base point (i,j) : [ -3, 5 ] boundary_sort_test(): Normal end of execution. boundary_to_edge_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_to_edge() uses a boundary word to deermine the (i,j) coordinates of the edge nodes. boundary word hex boundary word: "1232123434565656" base point (i,j) : [ 0, 0 ] edge node coordinates: 1: 0 0 2: 1 0 3: 1 1 4: 0 2 5: 0 3 6: 1 3 7: 1 4 8: 0 5 9: -1 5 10: -2 6 11: -3 6 12: -3 5 13: -2 4 14: -2 3 15: -1 2 16: -1 1 17: 0 0 boundary_to_edge_test(): Normal end of execution. boundary_to_vertex_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_to_vertex() converts a boundary word to a vertex list. boundary word hex boundary word: "1232123434565656" base point (i,j) : [ 0, 0 ] vertex list 1: 0 0 2: 1 0 3: 1 1 4: 0 2 5: 0 3 6: 1 3 7: 1 4 8: 0 5 9: -1 5 10: -2 6 11: -3 6 12: -3 5 13: -2 4 14: -2 3 15: -1 2 16: -1 1 boundary_to_vertex_test(): Normal end of execution. boundary_translate_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 boundary_translate() translates a shape described by its boundary word. Graphics saved as "boundary_translate_test.png" boundary_translate_test(): Normal end of execution. grid_plot_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 grid_plot() plots a polyiamond grid from its boundary word. Graphics saved as "grid_plot_test.png" grid_plot_test(): Normal end of execution. boundary_word_hexagon_test(): Normal end of execution. 07-Jan-2022 16:32:28