Polyform Atlas

Polyform Atlas

Every polyomino, polyiamond, polyhex, polystick, polytrig and polytwig up to the orders below — enumerated from scratch, verified, and drawn. Each figure page separates the three standard equivalence classes: Free, One-Sided and Fixed.

families 6 pages 54 verification checks 690 failures 0 build time 24.4s

Polyominoes

tetrominotetrominotetrominotetrominotetromino

Edge-joined unit squares of the square lattice — the classic polyform family, home of the twelve pentominoes.

orders 1–9 free forms 1,818
✓ all checks passed

Polyiamonds

pentiamondpentiamondpentiamondpentiamond

Edge-joined equilateral triangles of the triangular lattice, alternating point-up and point-down.

orders 1–10 free forms 720
✓ all checks passed

Polyhexes

tetrahextetrahextetrahextetrahextetrahextetrahex

Edge-joined regular hexagons of the honeycomb tiling; the cell centres form a triangular lattice.

orders 1–8 free forms 1,897
✓ all checks passed

Polysticks

tristicktristicktristicktristicktristick

Unit line segments of the square lattice joined end to end — also called polyedges or polyforms of the square grid's edges.

orders 1–7 free forms 1,251
✓ all checks passed

Polytrigs

ditrigditrigditrig

Unit line segments of the triangular lattice joined end to end; six segments meet at every vertex.

orders 1–6 free forms 3,064
✓ all checks passed

Polytwigs

tetratwigtetratwigtetratwigtetratwig

Unit line segments of the hexagonal (honeycomb) lattice joined end to end; only three segments meet at each vertex.

orders 1–7 free forms 126
✓ all checks passed

Free forms by order

Counts of free polyforms — the classification that treats rotations and reflections of a figure as the same thing. Raw data: counts.json.

Family12345678910
polyominoes112512351083691,285·
polyiamonds11134122466160448
polyhexes113722823331,448··
polysticks1251655222950···
polytrigs1312603752,613····
polytwigs1134122778···

How this was built

All six families are enumerated by one algorithm over one data model. A point is a pair of integers; a cell is a sorted tuple of points (the four corners of a square, the three vertices of a triangle, the two endpoints of a segment, the centre of a hexagon); a figure is a set of cells. Triangular and hexagonal geometries use coordinates in thirds of the lattice basis, which places honeycomb vertices — the centroids of lattice triangles — exactly on integer coordinates, so the whole enumeration runs in exact integer arithmetic with no floating point and no rounding.

Figures of order n are grown from those of order n−1 by adding one adjacent cell in every possible way and reducing to a canonical translate. The free and one-sided classes then come from canonicalising over the lattice's symmetry group (D4 for square geometries, D6 for triangular and hexagonal ones), which is a set of integer matrices acting on points. Results are checked with the orbit-counting identities that tie the three counts together through each figure's stabiliser, plus connectivity and canonical-form invariance, plus published reference sequences where they exist.