boundary_word_right
boundary_word_right,
a MATLAB code which
describes the outline of an object on a grid of isoceles right triangles,
using a string of symbols that represent the sequence of steps
tracing out the boundary.
A shape constructed from edgewise connected isoceles right triangles
is called a polyabolo, or sometimes a polytan.
A version of the famous "T" puzzle uses 4 polyabolo tiles to cover
a grid shaped like a "T".
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
boundary_word_right is available in
a MATLAB version.
Related Data and Programs:
boundary_word_right_test
boundary_word_drafter,
a MATLAB code which
describes the outline of an object on a grid of drafters,
or 30-60-90 triangles, using a string of symbols that represent
the sequence of steps tracing out the boundary.
boundary_word_equilateral,
a MATLAB code which
describes the outline of an object on a grid of equilateral triangles,
using a string of symbols that represent the sequence of steps
tracing out the boundary.
boundary_word_hexagon,
a MATLAB code which
describes the outline of an object on a grid of hexagons,
using a string of symbols that represent the sequence of steps
tracing out the boundary.
boundary_word_square,
a MATLAB code which
describes the outline of an object on a grid of squares,
using a string of symbols that represent the sequence of steps
tracing out the boundary.
polyiamonds,
a MATLAB code which
works with polyiamonds, simple shapes constructed by edgewise
connections of congruent equilateral triangles.
t_puzzle_gui,
a MATLAB code which
sets up a graphical user interface for the T puzzle.
Reference:
-
Erich Friedman,
Math Magic, Problem of the month, September 2004,
https://erich-friedman.github.io/mathmagic/0904.html.
-
Martin Gardner,
Mathematical Games:
The polyhex and the polyabolo, polygonal jigsaw puzzle pieces,
Scientific American,
Volume 216, June 1967, pages 124-132.
-
Martin Gardner,
Mathematical Games:
Advertising premiums to beguile the mind: classics by Sam Loyd,
master puzzle poser,
Scientific American,
Volume 225, Number 5, pages 114-121, November 1971.
-
Marcus Garvie, John Burkardt,
A new mathematical model for tiling finite regions of the plane
with polyominoes,
Contributions to Discrete Mathematics,
Volume 15, Number 2, July 2020.
-
Solomon Golomb,
Polyominoes: Puzzles, Patterns, Problems, and Packings,
Princeton University Press, 1996,
ISBN: 9780691024448
-
Thomas O'Beirne,
Pentominoes and Hexiamonds,
New Scientist,
Volume 12, pages 379-380, 1961.
Source code:
-
boolean_to_string.m,
given a boolean value,
returns the character vector 'True' or 'False'.
-
ch_wrap.m,
forces a character to lie between given limits by wrapping.
-
chvec_lt.m,
is TRUE if c1
-
gort_word.m,
returns the boundary word
of the Gort polyabolo.
-
grid_plot.m,
plots an isoceles right triangle grid.
-
heart_word.m,
returns the boundary word
of the heart polyabolo, which can be exactly covered
by the 14 tetrabolos.
-
i4_wrap.m,
forces an integer to lie between given limits by wrapping.
-
ijk_fill.m,
given (i,j,k) polyabolo coordinates,
plots a filled triangle on the current figure.
-
ijk_to_xy.m,
given (i,j,k) polyabolo coordinates,
returns the (x,y) Cartesian point coordinates of the
nodes that are vertices.
-
is_octave.m,
is TRUE if Octave is executing.
-
s_escape_tex.m,
de-escapes TeX escape sequences.
-
s_substitute.m,
substitutes characters in a string.
-
tee_word.m,
returns the boundary word
of the T polyabolo.
-
tetrabolo_name.m,
given an index of a tetrabolo,
returns the corresponding Gardner and Friedman names.
-
tetrabolo_word.m,
given an index of a tetrabolo,
returns the corresponding boundary word and base point.
-
tiny_word.m,
returns the boundary word
of the tiny polyabolo.
-
vertex_contains_ijk.m,
given the vertex list of a polyabolo,
determines if it contains an IJK triangle.
-
vertex_contains_point.m,
given the vertex list of a polyabolo,
determines if a point is contained inside.
-
vertex_plot.m,
given the vertex list of a polyabolo, produces a plot.
-
vertex_to_triangle.m,
given the vertex list of a polyabolo,
produces the corresponding triangle list.
-
word_plot.m,
given the boundary word of a polyabolo,
creates a plot.
-
word_print.m,
given the boundary word of a polyabolo,
prints it.
-
word_range.m,
given the boundary word of a polyabolo,
returns its range in the I and J directions.
-
word_reflect.m,
given the boundary word of a polyabolo,
returns the boundary word of the polyabolo reflected up and down.
-
word_representative.m,
returns the representative for a boundary word,
the lexically first member of the equivalence class.
-
word_rotate.m,
returns the boundary word for a rotated object.
-
word_to_triangle.m,
given the boundary word of a polyabolo,
converts it to a triangle list.
-
word_to_vertex.m,
given the boundary word of a polyabolo,
converts it to a vertex list.
Last revised on 09 December 2021.