variomino
variomino,
a MATLAB 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 computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
variomino is available in
a MATLAB version.
Related Data and Programs:
variomino_test
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.
chrominoes,
a MATLAB 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,
a MATLAB 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,
a MATLAB code which
evaluates and manipulates a six-fold parity quantity associated with
grids and tiles used in the Eternity puzzle.
pariomino,
a MATLAB 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,
a MATLAB code which
works with polyiamonds, simple shapes constructed by edgewise
connections of congruent equilateral triangles.
polyomino_parity,
a MATLAB code which
uses parity considerations to determine whether a given set of
polyominoes can tile a specified region.
polyominoes,
a MATLAB 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 23 April 2023.