Simulation The simulation was done in two dimensions under the assumption that in reality, swiveling a block will cause all the blocks being moved to move into the third dimension and thus avoid any collisions with non-moving blocks. In the simulation, there are three types of blocks: normal, swivel and electromagnetic.
The main motion in the simulation is the swivel. When a swivel block receives the command to swivel, it first decides which side will be the anchor and which side will move the blocks attached to it. The anchor is the side attached, either directly or through a chain, to the oldest block in the structure. Older blocks were placed into the simulation earlier than younger blocks. The older block is the anchor because I am assuming that when the models are physically created, they will be anchored securely to a substrate at the first block so that there is a single source of power. Once the anchor is determined, then the blocks attached to the other side of the swivel block are reflected across the swivel block’s axis of rotation. A swivel is aborted if there is a chain of blocks that cause both sides of the swivel block to be connected, or if by doing the swivel, a new connection is created in the model. Moving a block to a location adjacent to a non-moving block creates this connection. |
Project by Mark Desnoyer '06