The Biham–Middleton–Levine traffic model has recently fascinated me. I started learning about it on the Wikipedia Page found here.
One way to run this simulation is on a Klein bottle surface. When simulating a Klein bottle though, how does one choose a "direction" for the red and blue cars? Do "right" and "down" even have a meaning on the surface on a Klein bottle?
The wiki article discusses this under "Non-orientable surfaces". Run it as on a torus, but when a right-moving car crosses the right edge, negate its vertical position, e.g. on a 512x512 grid, when a car at (511,50) moves right it goes to (0,461) on the Klein bottle instead of (0,50) as it would on the torus. This can be understood by looking at the fundamental polygon of the Klein bottle vs. that of the torus.