Mark every lattice point whose coordinates exclusive-or to a multiple of nine, and a circuit board appears.
One test, four million times
There is no stored geometry in this piece. No path, no curve, no list of shapes.
There is a square lattice and a single arithmetic question asked at every point of
it:
(x ^ y) % Mod == 0
^ is bitwise exclusive-or. If the answer is yes, put a mark there; if no, leave
it empty. Depending on the preset, that question is asked between one and nine
million times, and what comes back is a circuit board.
The hierarchy is the binary
x ^ y compares the two coordinates bit by bit and reports where they disagree.
Read as a number it is small when x and y share their high bits — which is to
say, when the point sits near the diagonal of whichever power-of-two block it falls
in. Bits are grouped in powers of two, so that relationship holds inside blocks of
2, 4, 8, 16, 32, and on up.
The pattern was not designed to be self-similar. It is self-similar because binary
is, and the cleanest way to show that is to take bits away.
Mask each coordinate to its low b bits and the rule becomes periodic with period
2^b in both directions: the frame fills with one tile, repeated. Give a bit back
and the tile doubles. That is the entire progression below — the same rule, the
same lattice, the same weight of ink, seen through a widening window on the
coordinates.
Six bits. The rule cannot see anything above sixty-four points, so the frame is one
small tile printed thirty-one times across. There is structure, and it has a
ceiling. The lattice pitch is a single pixel, so this stage rewards magnification
more than any other.
Eight bits. The tile is four times as wide and the ceiling has moved with it. Look
inside any one of them: the sixty-four-point motif from the last stage is still
there, four times over.
Nine bits. One more bit, one more doubling, sixteen tiles down to four. The
containment is now unmistakable — each tile is built from copies of the previous
tile, arranged by where the exclusive-or agrees.
Ten bits. Four tiles fill the frame, and each of them is the whole of the previous
stage.
Every bit. The mask comes off, the period grows past the canvas, and the repetition
stops being visible because there is only one tile left to see. Nothing was added at
this stage; a constraint was removed.
Where the marks go
The mark size is tied to the lattice — each is drawn with radius 100 / Density in
canvas units, while the spacing between points is Width / Density, so a mark is
always a tenth of its cell. The stroke is tied to nothing. At Density = 2000
the radius is 0.05 and the stroke is 2, which means the visible mark is entirely
stroke: a two-pixel dot at one-pixel spacing. Neighbouring marks overlap, and
wherever the rule holds densely the field stops being dots and becomes solid ink.
That is why the finished piece reads as regions rather than as a drawing.
The mark itself
Each mark is a square centred directly on its lattice point. The four corners are
computed from the centre (x, y) and the radius r:
(x − r, y − r) (x + r, y − r)
(x − r, y + r) (x + r, y + r)
At the working density the radius is 100 / Density — about 0.05 canvas units —
so the mark is smaller than a pixel. Its visible size comes entirely from the stroke
width and the round caps the renderer applies at each corner.
Five fields
| Rendering | Density | Mod | Stroke | Ink |
|---|
| Cyber Cyan | 2000 | 9 | 2px | #00FFFF on black |
| Solar Gold | 1000 | 13 | 2.5px | #FFB700 on #060300 |
| Ghost White | 2000 | 19 | 3px | #E8E8FF on #020208 |
| Matrix Green | 1800 | 5 | 1.2px | #39FF14 on #040804 |
| Ultra Violet | 3000 | 11 | 0.75px | #9966FF on #030006 |
Mod is the interesting one. It decides how many tests pass — roughly one in
Mod — and because it is not a power of two it cuts across the binary block
structure instead of aligning with it. The five variants span moduli from 5 to
19: low values pack the field with ink so the XOR voids read as the pattern,
high values pare it back to a sparse skeleton, and each leaves the hierarchy of
tiles intact while changing which diagonals survive.
Presentation
The steps and the samples show the field bare. The gallery hangs it. Each
finished field is presented on a gallery wall: matted on warm paper with a
hairline of its own ink where the mat meets the canvas, in a black frame.
The framing is a presentation layer around LatticeArt, never a part of it.
The gallery plates are the only framed renderings in the bundle; the steps,
the variants and the samples remain the bare field, exactly as rendered here.
Determinism
There is nothing to seed. Every mark is decided by an integer test on its own
coordinates, in a fixed order, with no state carried from one point to the next. The
output is a pure function of Density, Mod, the two colours and the stroke width.