To make shapes we wrote a search procedure that takes a shape and a list of rules as input generate a tree of composite shapes. The rules can include symmetry restrictions, stop parameters, or different search algorithms, like depth-first or breath-first.

The following illustration shows the first 48 shapes created by a hexagonal based rule system. The apparent repetition of the regular triangle at the beginning of the first row is due to the application of a flip.