POLYOMINO_MONOHEDRAL_VARIANTS
Compute Distinct Polyomino Variants


POLYOMINO_MONOHEDRAL_VARIANTS, a MATLAB program which computes the distinct variants of a polyomino under reflection and 90 degree rotations.

A polyomino is a shape formed by connecting unit squares. It can be described by an MxN binary matrix. The matrix is assumed to be "tight", that is, there must be a 1 in the first and last rows, and first and last columns, of the matrix.

A polyomino can be rotated by 90, 180, or 270 degrees, and it can be reflected. There are 8 combinations of these transformations possible, so there are 8 variations of a given polyomino. However, because of symmetry, there may be 1, 2, 4, or 8 distinct variations.

This program accepts a binary matrix describing a polyomino, generates the 8 variations, and returns those which are distinct.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Source Code:

Examples and Tests:


Last revised on 12 April 2018.