Draw on a square or triangle grid. The numbered library contains drawings transcribed from the reference diagrams.
Every pattern in the Designer is generated from a documented construction, not traced from a photograph. These are the methods implemented so far.
Start with an underlying tiling of regular polygons. On every polygon edge mark the midpoint. From each midpoint send two rays into the tile, each making the same contact angle with the edge. Around each tile vertex, the ray from one edge meets the ray from the neighbouring edge; that meeting point is a star point. Joining midpoint → meeting point → midpoint all the way round the tile gives the motif, and because every midpoint is shared with the neighbouring tile the lines run continuously across the whole plane. Finally the underlying polygons are discarded.
The contact angle is the single control that turns one tiling into a whole family: shallow angles give wide, open stars, steep angles give tight, spiky ones. This is Hankin's method [3], in the computational form given by Kaplan [7].
Interactive Grid Drawing & Editing: You can transfer any Polygons in Contact construction directly into the interactive Draw on a grid engine by clicking ✏️ Edit in Draw. Every star ray and contact polygon becomes an editable vector segment that you can draw onto, erase, extend with circular arcs or splines, and interlace with custom strapwork bands. You can also insert curated Polygons in Contact templates directly into your drawing via the ➕ Add Pattern tool (or keyboard shortcut P).
Eight tilings are implemented — the three regular ones and five Archimedean ones that historically carry the great majority of Islamic star patterns. The number of sides of a polygon sets the local symmetry of the star that forms on it: an octagon carries an 8-point star, a dodecagon a 12-point star.
| Tiling | Vertex figure | Stars it produces |
|---|---|---|
| Regular — one polygon, every vertex alike | ||
| Square | 4.4.4.4 | 8-point |
| Triangular | 3.3.3.3.3.3 | 6-point |
| Hexagonal | 6.6.6 | 6- and 12-point |
| Truncated — a regular tiling with its corners cut off | ||
| Truncated square | 4.8.8 | 8-point (the classic 8/4 field) |
| Truncated trihexagonal | 4.6.12 | 12-point rosettes |
| Truncated hexagonal | 3.12.12 | 12-point pairs |
| Other semi-regular — several polygons, every vertex alike | ||
| Trihexagonal | 3.6.3.6 | 6-point with triangular links |
| Rhombitrihexagonal | 3.4.6.4 | 12-, 8- and 6-point mixed |
| Elongated triangular | 3.3.3.4.4 | 4- and 6-point in rows |
Truncating a tiling cuts each corner back to a new edge, so an n-gon becomes a 2n-gon: truncating the square tiling turns squares into octagons and leaves small squares at the old vertices (4.8.8), and truncating the hexagonal tiling turns hexagons into dodecagons and leaves triangles (3.12.12). That is why the truncated family carries the large stars — an octagon hosts an 8-point star and a dodecagon a 12-point one.
Every tiling has a dual: put one vertex at the centre of each face and join two of them whenever their faces share an edge. Each vertex of the original therefore becomes a face of the dual, found by taking the centres of the tiles around it in angular order. This is computed from the tiles themselves, so it works for all nine tilings without a separate definition, and the duals of the uniform tilings are the Laves tilings — the trihexagonal dual is the rhombille, the truncated square dual is the tetrakis square, the truncated trihexagonal dual is the kisrhombille, and the square tiling is its own dual. Fathauer [29] ch.2.
A vertex only yields a face when every tile around it is present, so the outermost ring of generated tiles is sacrificial and the pattern is built with a wider margin whenever the dual is on.
Replace each tile with scaled copies of the same prototile set, to a finite depth. Each rule lists its children in the prototile's own local coordinates, and a frame built from the parent's vertices maps those back to the plane — so rotation and reflection fall out of the vertex order and never have to be tracked. Fathauer [29] ch.6 and ch.8.
Take N families of equally spaced parallel lines, family i having unit normal ei, its k-th line being every point where P·e_i + g_i = k. Every crossing of two lines becomes one tile of the dual tiling.
For a crossing at P, give each family the index K_m = ceil(P·e_m + g_m) — which comes out as exactly k for the two families that cross there. The dual vertex is the vector sum Σ K_m·e_m. The four regions meeting at the crossing differ only in those two indices, and only by one, so the four vertices are V, V+ei, V+ei+ej, V+ej: a rhombus of unit edge whose angle is the angle between the two normals. Spacing the normals over a half turn gives N directions, ⌊N/2⌋ rhombus shapes and a patch with 2N-fold symmetry. N = 5 is the Penrose tiling; N = 4 is the octagonal Ammann–Beenker tiling.
Singular offsets. The construction assumes no three lines meet at a point. At a whole-number pattern offset that assumption fails everywhere at once — every family passes through the centre. This is not a breakdown: a crossing of m lines simply has a 2m-gon as its dual, the zonogon generated by those m normals, and the rhombus is only the m = 2 case. Crossings are therefore gathered by position and one tile is built per distinct point, whatever its order. At offset 0 with N = 5 this puts a single decagon at the centre, ringed by hexagons — the decagonal rosette, which is where this construction meets the geometry Lu and Steinhardt discuss [4].
The result is aperiodic: it has long-range order and sharp rotational symmetry but never repeats, however far it is extended. That is a genuinely different thing from the wallpaper repeats elsewhere in this tool, and it is labelled as mathematics rather than as a historical reconstruction — de Bruijn's method is not a claim about how any historical pattern was made.
Scatter seed points, then give every point the region of the panel that is closer to it than to any other point. Each region is a convex polygon, found by clipping the panel with the perpendicular bisector between that seed and every other seed. Lloyd relaxation repeatedly moves each seed to the centre of its own cell, which evens the cells out.
Repeating layouts. A single scatter of seeds gives one unique panel that cannot be tiled or extended. Since the Voronoi diagram of a periodic set of seeds is itself periodic, the seeds are instead placed inside one repeat unit — on a hexagonal, square or brick lattice — and that unit is solved against copies of itself on all four sides. The finished cells are then translated across the panel, so the pattern repeats seamlessly and can be extended to any size. Only one unit is ever solved, however many repeats are shown, which is what keeps it fast enough to drag a slider against.
Jitter moves each seed off its lattice point. At 0 the cells are the exact regular tiling the lattice implies — hexagons, or squares — and as it rises they become progressively less regular without ever losing the repeat. Radial mandala and random scatter are also available; neither repeats, and the radial one mirrors seeds around the centre so the result reads as ornament rather than as noise.
The sharp → round control then replaces every corner of every cell with a curve. At 0 the cells are hard-edged polygons. As the value rises, each corner is cut back along both of its edges and bridged with a quadratic curve. At 1 the cut reaches the middle of every edge, the straight parts vanish entirely, and the cell becomes a single smooth closed curve. The same control is available on the Islamic engines, where it softens star points the way a cut stone or cast metal rib naturally does.
This is contemporary work, not a historic reconstruction, and it is labelled that way in the app.
Robert Field's book [30] makes every pattern the same way: straight lines between the points of a square grid or a triangle (isometric) grid, repeated across the plane. Blocks and brickwork are filled squares of the same grid. Eight-pointed stars, octagon designs, single-tile tilings, interlaced bands, circle designs and six-pointed stars are all lines and circles on a grid. Keith Critchlow's book [31] analyses specimen patterns on circle, square, hexagon and pentagon grids in the same spirit. So the way to let anyone make any of them is not a generator for each, but the drawing tool the books use.
Repeat cell. The pattern is one cell of W by H grid squares, repeated by translation. Whatever is drawn is stored once and tiled, so the same drawing fills the panel and exports as one cell.
Symmetry while you draw. Each line is stored together with its images under the chosen symmetry: mirrors, 2-fold, 4-fold rotation and 4-fold with mirrors on the square grid; mirror, 2-, 3- and 6-fold rotation and their mirror groups on the triangle grid. Four-fold symmetry needs a square cell. The mirror axes are drawn on the cell so the symmetry is visible.
Tools. Line: click two grid points, and keep clicking to chain. Spline: click points to weave smooth Catmull-Rom curvilinear Arabesques; click the last point or press Enter to finish, or click the start point to close the loop. Arc: click the centre, the start, then the end, and tick the box for the long way round. 3-point arc: click the start, a point the arc must pass through, and the end; the arc is the circle through those three points, and three points in a line are refused. Circle: centre, then a point on it. Fill: toggles a square, for block patterns. Erase removes a line, spline, arc or circle together with its symmetric partners. Undo restores the previous drawing, and the pattern is saved in the link.
A real mosaic is filled by region, not by tile, so on the polygons-in-contact engine Mosaic mode finds the regions the lines cut out. Inside each tile the motif closes on itself and gives the star. Around each tile vertex the neighbouring motifs leave a gap bounded by the star points and edge midpoints of every tile meeting there, giving the kites, pentagons and hexagons around a star.
From the research catalogue of 25 September 2026. "Access verified" means a public page or file was found, not that a copyrighted book was read in full.
Book diagrams and plate artwork are treated as copyrighted unless the specific edition and image licence permits reuse. All geometry in this tool is constructed from documented principles; no source photograph or book plate is reproduced.
An interactive designer for geometric ornament, built on documented construction methods rather than style filters.
A family label alone cannot generate faithful geometry. The same star may arise from different grids, and the same region may contain geometric, vegetal, calligraphic and architectural ornament. So the tool exposes construction engines, and a named regional preset is only ever a stored parameter set pointing at a specific object.
Every preset carries one of three labels, and the label shown to the user reflects the real evidence:
Girih tiles with edge matching and strapwork, self-similar subdivision, arboreal jali, Gothic arch and rose geometry, Art Nouveau spline ironwork, Art Deco fan and stepped grammars, Ottoman floral fields, and fabrication export (DXF, minimum bridge validation) once a fabricator has been consulted.