The Wieringa roof

The same tiling, folded into golden rhombi

The height was in the data all along. Give every vertex a z of half its de Bruijn index — half the sum of its five Kj — and the flat tiling stands up:

Ej = vj + ½ž   ⇒   z = (∑ Kj) / 2

Every face becomes the same golden rhombus — edge √5 / 2, diagonals in ratio φ, angles 63.43° and 116.57°. Thick and thin stop being different shapes and become the same shape lying at different tilts; which one you see depends only on which corner sits at the shared vertex. Every edge rises or falls by exactly ½.

How many levels the roof stands on is a property of the offsets rather than of the construction. With Σγ = 0 the index runs 1 – 4 and the roof has four; move the sum and the range shifts, sometimes to five. The golden rhombus does not care — each face is spanned by two of the Ej, which know nothing about γ — so the relief changes and the shape never does.

Drag to pan, right-drag to spin and tilt, scroll to zoom. Scroll over any slider to step it, shift for ten at a time. flat lays the roof down into the ordinary tiling; unchecked, it stands up as golden rhombi. grow still runs the whole assembly from the pentagrid, now in three dimensions.

arcs draws the matching curves over the folded tiles. They need no index at all — every edge is +vj from one of its ends and that orientation is global, so the curves join by construction — which is why they keep working off a Penrose patch, where the dressings go quiet. index marks every dual vertex with its de Bruijn index in a white circle: 1–4 on a Penrose patch, 1–5 otherwise, and the extremes are the rhomb-group centers. The 2k-gons are left out of the count, so a singular preset still reads 1–4 and penta, next-gen and kites still dress the tiles around a singularity. The one 0 you may find sits at the decagon’s center, which carries index 0 and 5 at once.

The singularities are solids

Where k grid lines meet at a point, the tiling has no room for the C(k,2) rhombs that crossing makes, and they pile up on the spot. Flat, that is a defect. Folded, it is not: the regions around the point are the 2k corners of a k-cube, and because z counts the chosen generators, the cube's own main diagonal stands up as the vertical. The pile becomes a zonohedron made of the roof's own golden rhombus — three lines a golden rhombohedron, four Bilinski's rhombic dodecahedron, five the rhombic icosahedron. Turn on solids and they grow out of their crossings with everything else.

A solid seen in outline has more than one reading, the way a Necker cube does, and each reading is one rhombic tiling of the 2k-gon. The way to count them is to get rid of the singularity: nudge each of the k lines a little, up or down, and every pair crosses at a point of its own, which lays the rhombs out in a definite order. Every reading is a configuration of the lines in this sense — 2 for the hexagon, 8 for the octagon, 62 for the decagon — so nothing on the slider is an abstraction over the grid. reading steps through them, least disturbance first, and the readout names the configuration: 0↑ 1↓↓ 2· 3↑ 4↓, a double arrow for twice the step and a dot for a line left where it was.

Not all of those readings are available here, though, and the grid decides that rather than a switch. The decagon exists only when every γj is an integer, which is a Penrose grid, and a jiggle that stays Penrose has to leave Σγ alone — so the five displacements must sum to zero, which cuts 62 readings to 10. Those ten are one orbit under the decagon’s own symmetry: a single pattern in its ten placements, the deca seed. The readout says Penrose while the control is held. A hexagon and an octagon lose nothing: every reading of theirs already has a configuration that sums to zero.

One equal step each way — the plainest nudge there is — accounts for the hexagon and the octagon completely, but only 32 of the decagon's 62. Letting a line stay put reaches 42; the last twenty need one line moved twice as far as another. And the readings do not merely use the solid's surface: a reading cuts through its interior, so each of the C(k,2) face directions turns up at all 2k−2 of its positions — 80 distinct rhombs for the decagon, against the 20 on the hull. Every face of the solid is in play.

The solid is drawn as its edges and its crossings rather than as a set of surfaces. A family’s band enters a face through the edge parallel to that family and leaves through the opposite one, and consecutive faces of its ribbon share that edge — so the band runs over the solid continuously, with nothing between the strips. The two bands on a face overlap in one patch, and that patch is the crossing of those two families, so it carries the mixed color the whole face used to be painted in and the rhomb still reads as a rhomb. Which faces a band takes depends on the reading, so changing the reading re-routes every band. band sets the width; at zero the solid is left as a net of edges.

2kgon-legacy keeps the older drawing as well: before the solid knew what was inside a 2k-gon, a band was run straight across it on the family’s zone — in by the side parallel to the family, out by the opposite one — which asserted nothing about the tiling in between because there was no tiling to assert. Now there is. Switch it off and nothing of a superposed tile is drawn: no fill, no edge, no band. What is left inside the outline is the 2k-gon’s own color — pink for a hexagon, purple for the octagon and the decagon — and the solid if it is on. The band still arrives at the polygon and leaves it on the far side, since a family’s zone enters by the side parallel to that family and leaves by the opposite one, which the outline fixes and which owes nothing to the tiling inside.

From a given reading only some of its hexagons can be turned over — three or four, and exactly five at the two extremes. flip chooses which, pair draws that one turned as well, and since only a single cell's cap differs, what you see is three rhombs against three with the raised cap in front. That flip is the phason flip.

The decagon keeps one secret the plane cannot show. At Σγ = 0 the five directions sum to zero, so the icosahedron's bottom and top corners cast the same shadow — 32 corners in space, 31 in the plane. The ghost center that carries index 0 and 5 at once is simply the far pole, and tilting the roof pulls the two apart.

Because z is affine in a tile's own coordinates, each face stays exactly planar and the surface is a height field, so the faces can simply be sorted by depth: no 3D library, and the ordering is exact. The ribbons run over the roof rather than through it, following the same edge midpoints they did in the plane — which is what turns the five flat pencils of grid lines into strips lying across a folded surface.