# Pavement PatternReference

The `pavement`

is a pattern which paves the x-z plane with a single polyform tile. A polyform is a plane figure constructed by joining together identical basic polygons. The `number_of_sides`

is used to choose that basic polygon: an equilateral triangle (3), a square (4) or a hexagon (6). The `number_of_tiles`

is used to choose the number of basic polygons in the tile while `pattern`

is used to choose amongst the variants.

The syntax is:

pigment { pavement [PAVEMENT_MODIFIERS...] } PAVEMENT_MODIFIERS: number_of_sides SIDES_VALUE | number_of_tiles TILES_VALUE | pattern PATTERN_VALUE | exterior EXTERIOR_VALUE | interior INTERIOR_VALUE | form FORM_VALUE | PATTERN_MODIFIERS

A table of the number of patterns:

Sides | ||||||
---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | |

1 | 1 | 1 | 3 | 4 | 12 | |

1 | 1 | 2 | 5 | 12 | 35 | |

1 | 1 | 3 | 7 | 22 |

There is no nomenclature for pattern, they are just numbered from 1 to the maximum relevant value.

`form`

- 0, 1 or 2, a special 3 is allowed for square only which copy the look of
`interior`

for some additional variations.

`interior`

- 0, 1 or 2

`exterior`

- 0, 1 or 2; Not used for hexagon.

The `form`

, `exterior`

and `interior`

specify the look of angle used for respectively slow convex (turning side), quick convex (pointy tile) and concave angle (interior angle between many tiles).

- 0 is a normal pointy angle. (a right angle for square)
- 1 is the same as 0, but the pointy angle is broken in two. For square, the two corners are broken so as to share middle angle.
- 2 is a smooth negotiation of the angle, without pointy part.

**Note: ** The case of paving the plane with tiles made of 6 hexagons is not supported because not all such tiles would pave the plane. For example, the ring made of six hexagons is not able to pave the plane.