Atelier
Four lobes to a rosette, laid on a diagonal lattice

Quatrefoil

Quatrefoil sets four discs on the arms of a cross, close enough to merge into one rosette, on a lattice that carries a second rosette in the middle of every cell. Take it for a screen, a tiled wall, or any ground that should read as cut rather than printed.

Filling the four discs with one ink is what unions them. No boolean operation runs, and the outline nobody draws is the one the eye reads.

What the rosettes leave between them is the subject as much as the rosettes themselves. The gap closes into the pointed ogee the tiling is named for, and it is why the second rosette sits in the middle of the cell rather than on its own row.

Example

<?php

declare(strict_types=1);

use Atelier\Pattern\Pattern;
use Atelier\Pattern\PatternRegistry;
use Atelier\Svg\Document;
use Atelier\Svg\Dumper\CompactXmlDumper;
use Atelier\Svg\Element\Shape\RectElement;

require __DIR__.'/vendor/autoload.php';

$quatrefoil = Pattern::quatrefoil(size: 34, lobe: 6.4);

$document = Document::create(360, 200);

(new PatternRegistry($quatrefoil))->attachTo($document);

$surface = new RectElement();
$surface->setX('0')->setY('0')->setWidth('360')->setHeight('200');
$surface->setAttribute('fill', $quatrefoil->fill());

$document->getRootElement()?->appendChild($surface);

echo (new CompactXmlDumper())->dump($document);

Options

Setting Default Effect
size 34 side of the lattice cell; the tile is one cell and carries two rosettes
lobe 6.4 radius of one lobe, at most a quarter of the cell
withColor(string) currentColor paint of the rosettes; the ogee between them stays transparent
withOpacity(?float) none opacity of the whole tile
withAngle(float) 0 turns the screen through patternTransform
withId(string) derived fixes the identifier instead of deriving it from the tile content

The ratio of lobe to cell is the whole design. Small lobes give a scatter of quatrefoils on an open ground; at a quarter of the cell they meet and the ogee closes to a line. The guard stops there, because past it the rosettes merge and the surface goes solid.

A lobe sits 0.92 of its own radius from the middle of its rosette. Closer and the four discs read as one blob, further and they come apart into four dots.

How the tile closes

The tile is one cell, and holds two rosettes: one on its corner and one in its middle. Eight lobes, twenty circles once the copies the edges call for are counted.

Every lobe on the corner rosette crosses an edge, and the four of the middle rosette stay inside.