From MathWorld: “A cellular automaton is a collection of ‘colored’ cells on a grid of specified shape that evolves through a number of discrete time steps according to a set of rules based on the states of neighboring cells.”
This example explores binary, nearest-neighbor, one-dimensional automata, of which there are 256 (28) possible rules. All 256 rules are arranged in a grid, by column and then by row. The top-left corner is rule 0; the bottom-right corner is rule 255. Zoom in to see more of any particular rule.
xxxxxxxxxx
<html>
<head>
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/simplegeo/polymaps/v2.2.0/polymaps.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/simplegeo/polymaps/v2.2.0/examples/canvas/procedural.js"></script>
<style type="text/css">
@import url("https://cdn.rawgit.com/simplegeo/polymaps/v2.2.0/examples/example.css");
#map {
background: #ddd;
}
</style>
</head>
<body id="map">
<script type="text/javascript">
var po = org.polymaps;
var map = po.map()
.container(document.getElementById("map").appendChild(po.svg("svg")))
.zoomRange([0, 5])
.zoom(1)
.tileSize({x: 512, y: 512})
.center({lat: 0, lon: 0})
.add(po.interact())
.add(po.hash());
map.add(po.procedural()
.zoom(function(z) { return Math.min(4, z); })
.worker("cell-worker.js"));
map.add(po.compass()
.pan("none"));
</script>
</body>
</html>
Updated missing url https://cdn.rawgit.com/simplegeo/polymaps/v2.2.0/polymaps.min.js to https://cdn.jsdelivr.net/gh/simplegeo/polymaps/v2.2.0/polymaps.min.js
Updated missing url https://cdn.rawgit.com/simplegeo/polymaps/v2.2.0/examples/canvas/procedural.js to https://cdn.jsdelivr.net/gh/simplegeo/polymaps/v2.2.0/examples/canvas/procedural.js
https://cdn.rawgit.com/simplegeo/polymaps/v2.2.0/polymaps.min.js
https://cdn.rawgit.com/simplegeo/polymaps/v2.2.0/examples/canvas/procedural.js