Single Rotation rule with frame interpolation
TL;DR: See the online simulator of the Single Rotation cellular automaton, with interpolation of individual cell movement. frames. Its primary purpose is a nice visual effect, for experiments with reversible cellular automata see online simulator, described in the previous blog post.
In case it is not working for you (Since it is HTML5 canvas application, I did not pay much attention to the old browser support), here is a demonstration video.
Single Rotation rule is a very simple reversible cellular automaton that acts on a grid of cells, that are either dead (0) or alive (1). On each generation, the grid is divided into 2x2 blocks, and if the block contains exactly one alive cell, it is rotated by 90°. Thus "single rotation".
Cell tracking
Single Rotation rule preserves total number of the alive cells. Moreover, from the definition of the rule it is clear that it is possible to track the position of every individual alive cell (something that is impossible in the Conway's Game of Life, where cells born and die but not move). The simulator implements this idea.
Interpolation
On each generation, alive cells always move by 1 grid unit in some direction, making animation jerky. To make it smoother, this simulator interpolates intermediate coordinates of the cells, using Lanczos resampling.
Oscillation filtering
A single cell in the "Single Rotation" rule would constantly rotate with period 4. To make animation less annoying, a possibility to filter higher frequencies of the cell movement is added: "filter" setting. For example, when "filter" setting is 4, every oscillation with period 4 or less is replaced by the constant average value, and rotating cells visually stand still. Higher filter setting allow to cease oscillations of higher period. This is also done by Lanczos filter. Note that computational complexity is proportional to the the filter setting.
More information
Here are some of my other pages, where you can find information about the reversible cellular automata and Single Rotation rule.
- Online simulator, uglier but more suited for experiments tool, where you can try your own patterns and rules.
- Single rotation: remarkably simple and rich reversible cellular automaton - a blog post about this rule, with some thoughts on its properties.
- A table of the Single Rotation spaceships - result of the automatic search for the spaceships (patterns that travel along the grid). Lists more than 300 different patterns.
- And a blog post about the above table.
Source code and license
Source code is available on Github, under the permissive MIT license. It is written in CoffeeScript.
Comments
Dear Professor Shintyakov,
I would like to propose an algorithm that simulates spontaneously interacting particles with mass, spin and charge, using only position and displacement vectors. Both the momentum and the energy conservation law are always fulfilled.
You can see some results of the approach on YouTube. You can find the YouTube videos „Experiments with vectors“ under the following link:
https://www.youtube.com/playlist?list=PLBda4QvOnxQHVsqa3l2ixuqD7xlRlYWVx
Also you can view various examples interactively on the web page of Ulrich Schwebinghaus:
http://www.fraktalwelt.de/myhome/selforg_2.htm
I have attached a description of the calculation model below. There I tried to describe the algorithm “Experiments with Vectors” as far as possible with words.
I would be happy if you could take a look at them.
Sincerely yours,
Wolfhard Hövel
D 92268 Etzelwang
Gerhardsberg 7
Email: wolfhard.hoevel@th-nuernberg.de
Telephone: +491735737624