variomino
variomino,
an Octave code which
considers variominoes, which are polyominoes in which each square
has been assigned a positive label or "variety",
and the determination of tilings of a region using a specific set of
variominoes.
Licensing:
The information on this web page is distributed under the MIT license.
Languages:
variomino is available in
a MATLAB version and
an Octave version.
Related Data and Programs:
variomino_test
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.
chrominoes,
an Octave code which
searches for tilings of a polygonal region using polyominoes,
in which a coloring scheme is used to reduce the problem size
and quickly eliminate certain arrangements.
eternity,
an Octave code which
considers the eternity puzzle, which considers an irregular dodecagon
shape that is to be tiled by 209 distinct pieces, each formed by 36
contiguous 30-60-90 triangles, known as polydrafters.
eternity_hexity,
an Octave code which
evaluates and manipulates a six-fold parity quantity associated with
grids and tiles used in the Eternity puzzle.
pariomino,
an Octave code which
considers pariominoes, which are polyominoes with a checkerboard parity,
and the determination of tilings of a region using a specific set of
pariominoes.
polyiamonds,
an Octave code which
works with polyiamonds, simple shapes constructed by edgewise
connections of congruent equilateral triangles.
polyomino_parity,
an Octave code which
uses parity considerations to determine whether a given set of
polyominoes can tile a specified region.
polyominoes,
an Octave code which
defines, solves, and plots a variety of polyomino tiling problems,
which are solved by a direct algebraic approach involving the
reduced row echelon form (RREF) of a specific matrix, instead of the
more typical brute-force or backtracking methods.
Reference:
-
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.
Source code:
-
cplex_solution_multiple_read.m,
extracts solution data from a structure obtained from a
cplex() solution file that contained multiple solutions.
-
cplex_solution_read.m,
reads an XML file, converts the data to a structure,
and extracts the data representing solutions.
-
cplex_solution_single_read.m,
extracts solution data from a structure obtained from a
cplex() solution file that contained a single solution.
-
variomino_area.m,
returns the area of a variomino, simply the number of nonzeros
in the representation.
-
variomino_condense.m,
cleans up a matrix that represents a variomino by
removing initial and final rows and columns of zeros.
-
variomino_embed_list.m,
for each possible embedding, lists the translation necessary to
apply to the variomino.
-
variomino_embed_number.m,
reports the number of ways a variomino can be embedded in a region.
-
variomino_equal.m,
is true if two variominoes are equal.
-
variomino_index.m,
computes an index for each nonzero variomino entry.
-
variomino_lp_write.m,
writes an LP file describing a particular problem.
-
variomino_matrix.m,
determines the matrix and right hand side for a variomino problem.
-
variomino_matrix_reid.m,
returns the matrix associated with the Reid tiling problem.
-
variomino_print.m,
prints a variomino.
-
variomino_tiling_print.m,
is given matrices defining a region R and a set of variominoes P,
and a solution vector X, which represents
a tiling of R by the variominoes in P, and prints out a representation
of that tiling.
-
variomino_transform.m,
carries out reflections and rotations of a variomino.
-
variomino_variants.m,
carries out reflections and rotations of a set of variominoes to
determine which transformations yield distinct variants.
-
variomino_variety.m,
computes the variety of a variomino.
-
variominoes_print.m,
prints variominoes packed in an array.
-
xml2struct.m,
reads an XML file and converts the data to a structure.
Last revised on 03 July 2023.