# Reference:Pavement Pattern

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
Tiles
1234 5 6
3
1113 412
4
11251235
6
113722
 The various patterns with 6 squares.

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.