A variety of shape primitives were implemented, along with a set of predicates to determine if an arbitrary shape had a relation with any of the primitives, hoping we could extract symmetry information from the arbitrary shape by localizing primitive components in it.

Triangles

Regular triangle and triangular triangles.

Square triangles.

Pentagonal triangles.

Quadrilaterals: Square, Rectangles, Parallelograms, Kites and Darts.

Regular Polygons