- I got the idea for this type of automaton at http://www.permadi.com/java/cautom/. It is called the cylic space cellular
automaton, and was developed by David Griffeath(University of Wisconsin).
- A two dimensional grid is filled with psuedo-random integers between (0, 9), inclusive. Every pixel on the
two dimensional grid has eight neighbors. During each cycle, all of the neighbors in the 3x3 block under "Neighbors"
marked with a white 'X', will be checked. The current pixel checks its value against the neighbors' values, and if any
of the neighbors' values have a value one higher than the current pixel, then the current pixel changes to that value.
For example, if the current pixel has value 5, and one of its marked neighbors(a neighbors with a white 'X' in the box)
has the value 6, then the current pixel changes its value to 6. When the value of a pixel is the maximum value, it
checks if any of its neighbors have a 0 value. This creates the cycle.
- Clicking on the pixels themselves will increment the value of that pixel by one, unless it's the maximum
value, then it changes to zero
- Neighbors: Mark or unmark the boxes under "Neighbors" to determine if the pixel checks that neighbor or
- Pause: Simply pauses the applet. You can change the applet while it's paused, using the menu or by clicking
on a pixel
- C.D.(Cyclic Difference): I don't know if this has been done before, but when the box next to C.D. is marked,
then the current pixel checks for different neighbor values than (current_value + 1), where current_value is the value
of the current pixel. The pixel will check for values of (current_value + 1) and the next cycle it will check for
(current_value + 2) and so on... This creates a puslating effect.
- Color: Changes the color of the pixels
- Speed: Click the '-' to go slower and '+' to go faster
- This CA has been a good learning experience for me, and I hope you can get something out of it also. Play
around with different neighbor combinations, with C.D. on or off, and see what unique designs are created.
- E-mail me at email@example.com if you have any questions