boundary_word_square, a Python 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.

The symbols might be 'u', 'd', 'r', and 'l', indicating that the boundary is to be drawn by a succession of movements of unit length, that are up, down, right or left.

In some boundary word schemes, 8 symbols are required, to allow for movement in the N, S, E, W, NE, SE, NW, and SW directions.

In image processing, boundary words are known as "chain codes".


The computer code and data files made available on this web page are distributed under the MIT license


boundary_word_square is available in a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

pariomino, a Python code which considers pariominoes, which are polyominoes with a checkerboard parity.

polyomino_parity, a Python code which uses parity considerations to determine whether a given set of polyominoes can tile a specified region.

polyominoes, a Python 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.


  1. George Bell,
    The dynamics of spinning polyominoes,
    Gathering for Gardner, G4G13.
  2. Srecko Briek, Gilbert Labelle, Ariane Lacasse,
    Algorithms for polyominoes based on the discrete Green theorem,
    Discrete Applied Mathematics,
    Volume 147, pages 187-205, 2005.

Source Code:

Last modified on 15 June 2021.