The program repeatedly drops bugs at the center cell in an infinite grid; each bug seeks a cell to call its own (not occupied by any other bug), and when it succeeds, a new bug gets added at the origin, ad infinitum. Cells that have not yet been visited by any bug are not shown. Each cell has a rotor that points at any given time to one of the four neighbors of the cell. Initially all rotors points to the left. Every time a bug arrives at an occupied cell, the rotor in that cell rotates clockwise, and the bug leaves the cell in the direction specified by the rotor.
The location of the bug is indicated by a square superimposed with the cell occupied by the bug.
What the colors mean:
Colors are updated after a grain of sand has moved into an unoccupied cell.
The paused/unpaused button controls the automatic evolution of the system. Press the pause button to start and stop the system.
The faster/slower buttons control the speed of the system by changing the interval that the applet waits between calculations.
Press the restart button to restart the system.
If you press the skip stages button, you will get a dialog asking how many stages you would like to skip each turn. If you enter 0, no stages will be skipped and each step will be shown. If you enter 1, then the applet will show each stage, but no intervening steps. If you enter n, an integer greater than 1, the applet will only show every nth stage.
Use the zoom in/zoom out buttons to zoom in on detail in the system. Use the scrollbars to look around. For best results, pause the applet before zooming in and zoom out before unpausing.
While the applet is paused, hit the stage button to show the next stage.
RotorRouter is Copyright (C) 2003 Hal Canary, University of Wisconsin-Madison.
This work was supported by a the University of Wisconsin.
The Two-Dimensional Rotor-Aggregation Applet comes with ABSOLUTELY NO WARRANTY. This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation.
These don't work everywhere.
Key | Action |
---|---|
'+' or '=' | Speed up the applet. |
'-' | Slow down. |
Ctrl+Shift+'R' | Restart |
spacebar | pause |
i | step (subiterate) |
z | z |
x | x |