POLYOMINO_TRANSFORM, a C++ library which transforms the matrix representing a polyomino by reflection and rotation.
The polyomino is described by an MxN matrix containing only 0 and 1 values.
A reflection is implemented by reversing the order of entries in each row.
A rotation of 90 degrees rotates the matrix counterclockwise. The values of M and N are also interchanged.
The transformation to be carried out will involve 0 or 1 reflections, followed by 0, 1, 2 or 3 rotations of 90 degrees.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
POLYOMINO_TRANSFORM is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.
PENTOMINOES, a C++ library which provides some utilities for manipulating pentominoes.
POLYOMINO_CONDENSE, a C++ library which cleans up a matrix that represents a polyomino by setting all nonzero entries to 1, and removing initial and final rows and columns of zeros.
POLYOMINO_EMBED, a C++ library which is given matrices defining a region R and a polyomino P, and determines the number of possible embeddings of the polyomino into the region, and the translations necessary to achieve them.
POLYOMINO_ENUMERATE, a C++ library which enumerates chiral, fixed and free polyominoes up to a moderate order.
POLYOMINO_INDEX, a C++ library which is given a matrix defining a polyomino P, and determines a correspondingly shaped matrix which contains an index for each nonzero entry in P.
POLYOMINO_LP_WRITE, a C++ program which writes an LP file describing a (binary) integer programming problem related to the tiling of a region R by copies of polyomino shapes, with possible reflections and rotations.