boundary_word_right
boundary_word_right,
an Octave 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 and
an Octave version.
Related Data and Programs:
boundary_word_right_test
boundary_word_drafter,
an Octave 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,
an Octave 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,
an Octave 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,
an Octave 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,
an Octave code which
works with polyiamonds, simple shapes constructed by edgewise
connections of congruent equilateral triangles.
t_puzzle_gui,
an Octave 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 12 June 2023.