boundary_word_equilateral
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.
Objects constructed by connecting congruent equilateral triangles
are known as polyiamonds.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
boundary_word_equilateral is available in
a MATLAB version and
an Octave version.
Related Data and Programs:
boundary_word_equilateral_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_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_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.
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.
Reference:
-
Martin Gardner,
Mathematical Games:
On Polyiamonds: Shapes That are Made Out of Equilateral Triangles,
Scientific American,
Volume 211, December 1964.
-
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.
-
Torbijn,
Polyiamonds,
Journal of Recreational Mathematics,
Volume 2, pages 216-227, 1969.
Source code:
-
boolean_to_string.m,
given a boolean value,
returns the character vector 'True' or 'False'.
-
gort_boundary.m,
returns the boundary word
of the Gort polyiamond.
-
boundary_hexiamond.m,
returns the boundary word
for a given hexiamond.
-
boundary_is_legal.m,
given the boundary word of a polyiamond,
determines if it is legal.
-
boundary_plot.m,
given the boundary word of a polyiamond,
creates a plot.
-
boundary_print.m,
given the boundary word of a polyiamond,
prints it.
-
boundary_range.m,
given the boundary word of a polyiamond,
returns its range in the I and J directions.
-
boundary_reflect.m,
given the boundary word of a polyiamond,
returns the boundary word of the reflected polyiamond.
-
boundary_representative.m,
returns the representative for a boundary word,
the lexically first member of the equivalence class.
-
boundary_rotate.m,
given the boundary word of a polyiamond,
rotates it through a multiple of 60 degrees.
-
boundary_snap.m,
given the boundary word of a polyiamond,
"snaps" it so its minimum I and J node coordinates are 0.
-
boundary_sort.m,
given the boundary word of a polyiamond,
returns a sorted version of the boundary word.
-
boundary_tiny.m,
returns the boundary word
of the tiny polyiamond.
-
boundary_to_edge.m,
given the boundary word of a shape,
converts it to a sequence of nodes that bound
the shape.
-
boundary_to_triangle.m,
given the boundary word of a polyiamond,
converts it to a triangle list.
-
boundary_to_vertex.m,
given the boundary word of a polyiamond,
converts it to a vertex list.
-
boundary_translate.m,
given the boundary word of a polyiamond,
returns the boundary word of the translated polyiamond.
-
chvec_lt.m,
is TRUE if c1
-
grid_plot.m,
plots a parallelogram grid divided into equilateral triangles.
-
ij_to_xy.m,
given the (i,j) parallelogram coordinates of a node,
returns the (x,y) Cartesian coordinates.
-
ijk_fill.m,
given (i,j,k) parallelogram triangle coordinates,
plots a filled triangle on the current figure.
-
ijk_to_xy.m,
given (i,j,k) parallelogram triangle coordinates,
returns the (x,y) Cartesian point coordinates of the
nodes that are vertices.
-
is_octave.m,
is TRUE if Octave is executing.
-
name_hexiamond.m,
given an index between 1 and 12 of a hexiamond,
returns the corresponding name.
-
s_escape_tex.m,
de-escapes TeX escape sequences.
-
vertex_contains_ijk.m,
given the vertex list of a polyiamond,
determines if an IJK triangle is contained inside the polyiamond.
-
vertex_contains_point.m,
given the vertex list of a polyiamond,
determines if a point is contained inside the polyiamond.
-
vertex_plot.m,
given the vertex list of a polyiamond,
plots the polyiamond.
-
vertex_to_triangle.m,
given the vertex list of a polyiamond,
produces the corresponding triangle list.
Last revised on 12 June 2023.