Development on the Heisenberg nilmanifold

The same path, now reduced to the fundamental domain [0,1)³ of G/Γ. The growing arches fold into a spiral through the central fibre. The twisted identification z → z + ny/2 (when x wraps by n) is visible in the z-shifts at each period.
α = 1.0
ω = 1.00 (commensurate)
8 periods
Speed: 0.4

G/Γ — fundamental domain [0,1)³

Drag to rotate. Each period is a different color. The z-coordinate wraps with the Heisenberg twist: when x resets, z shifts by +y/2.

Universal cover G — the arches

The same path before reduction. Arches grow without bound; on G/Γ they fold into the central fibre.

Base torus T² — horizontal projection

The projection G/Γ → T² forgets the central fibre. When ω = 1 the path traces the same closed loop every period. When ω is incommensurate, each period traces a different curve and the path fills the torus.
Each color = one period. Fiber advance per period: α/(2π). If α/(2π) is irrational, the path fills the nilmanifold ergodically.