From 307b025d011da7cd2abfb5e629c0cd5753c32760 Mon Sep 17 00:00:00 2001 From: jrpotter Date: Sat, 30 May 2015 23:36:35 -0400 Subject: [PATCH] Setup --- examples/.gitignore | 0 src/__init__.py | 0 src/bitplane.py | 34 ++++++++++++++++++++++++++++++++++ src/cam.py | 21 +++++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 examples/.gitignore create mode 100644 src/__init__.py create mode 100644 src/bitplane.py create mode 100644 src/cam.py diff --git a/examples/.gitignore b/examples/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/bitplane.py b/src/bitplane.py new file mode 100644 index 0000000..51c9667 --- /dev/null +++ b/src/bitplane.py @@ -0,0 +1,34 @@ +""" + + + + +""" +import numpy +import matplotlib.pyplot as plt + + + + +class BitPlane: + """ + A BitPlane represents a layer of the grids that can be placed on top of one another in a 2D CAM. + + The use of multiple bit plane allow for more intricate states of life and death, though there + exists only a single master bit plane that controls the others. That is, the master bit plane has + a CAM ruleset applied to it, and the other bit planes merely copy the master, though this can + be delayed and have different color mappings. + + For example, by setting a delay of two ticks on the second bit plane of a 2-level CAM configuration, + one can allow for ECHOing, providing a more intuitive sense of "velocity" based on the master. + + That is not to say one could not have multiple CAM's operating simultaneously though. We can consider + a configuration to consist of an arbitrary numer of planes, of which one is the master, but multiple + masters can exist in separate CAMs that can interact with one another. + """ + + def __init__(self): + """ + + """ + pass diff --git a/src/cam.py b/src/cam.py new file mode 100644 index 0000000..5519304 --- /dev/null +++ b/src/cam.py @@ -0,0 +1,21 @@ +""" + + +""" + + + +class CAM: + """ + Represents a Cellular Automata Machine (CAM). + + The CAM consists of any number of bit planes that allow for increasingly complex cellular automata. + This is the top-level module that should be used by anyone wanting to work with fifth, and provides + all methods needed (i.e. supported) to interact/configure the cellular automata as desired. + """ + + def __init__(self): + """ + + """ + pass