Life 3D
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This program is an example of a three-dimensional cellular automaton, it is a 3D version of the Life model. A cellular automaton is a computational machine that performs actions based on certain rules. It can be thought of as a world which is divided into cubic cells. Each cell can be either "alive" or "dead." This is called the "state" of the cell. According to specified rules, each cell will be alive or dead at the next time step.
This particular cellular automaton is called The Game of Life. The rules of the game are as follows. Each cell checks the state of itself and its twenty-six surrounding neighbors and then sets itself to either alive or dead.
If an empty cell has n living neighbors, and r1 <= n <= r2, the cell becomes alive. If an alive cell has n living neighbors and n < r3 or n > r4, the cell dies. This is done in parallel and continues forever.
HOW TO USE IT
The INITIAL-DENSITY slider determines the initial density of cells that are alive. SETUP-RANDOM places these cells. GO-FOREVER runs the rule forever. GO-ONCE runs the rule once.
R1, R2, R3, and R4 determine the rules of the world.
THINGS TO NOTICE
Find some objects that are alive, but motionless.
THINGS TO TRY
Are there any recurring shapes?
What happens when you change the rules?
EXTENDING THE MODEL
Give some different rules to life and see what happens.
Experiment with using neighbors6 instead of neighbors3d (see below).
NETLOGO FEATURES
The neighbors3d primitive returns the agentset of the patches to the north, south, east, west, northeast, northwest, southeast, and southwest as well as up, down, up-north, down-north, up-south, down-south, up-east, and so on. So "count neighbors3d with [pcolor = red]" counts how many of those twenty-six patches have the living? patch variable set to true.
neighbors6 is like neighbors but only uses the patches to the north, south, east, west, up and down. Some cellular automata, like this one, are defined using the 26-neighbors rule, others the 6-neighbors.
RELATED MODELS
Life - 2D version of this model
Life Turtle-Based - same as this, but implemented using turtles instead of patches, for a more attractive display in the graphics window
CA 1D Elementary - a model that shows all 256 possible simple 1D cellular automata
CA 1D Totalistic - a model that shows all 2,187 possible 1D 3-color totalistic cellular automata
CA 1D Rule 30 - the basic rule 30 model
CA 1D Rule 30 Turtle - the basic rule 30 model implemented using turtles
CA 1D Rule 90 - the basic rule 90 model
CA 1D Rule 110 - the basic rule 110 model
CA 1D Rule 250 - the basic rule 250 model
CREDITS AND REFERENCES
The Game of Life was invented by John Horton Conway.
See also:
Von Neumann, J. and Burks, A. W., Eds, 1966. Theory of Self-Reproducing Automata. University of Illinois Press, Champaign, IL.
"LifeLine: A Quarterly Newsletter for Enthusiasts of John Conway's Game of Life", nos. 1-11, 1971-1973.
Martin Gardner, "Mathematical Games: The fantastic combinations of John Conway's new solitaire game `life',", Scientific American, October, 1970, pp. 120-123.
Martin Gardner, "Mathematical Games: On cellular automata, self-reproduction, the Garden of Eden, and the game `life',", Scientific American, February, 1971, pp. 112-117.
Berlekamp, Conway, and Guy, Winning Ways for your Mathematical Plays, Academic Press: New York, 1982.
William Poundstone, The Recursive Universe, William Morrow: New York, 1985.
HOW TO CITE
If you mention this model in an academic publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Wilensky, U. (1998). NetLogo Life 3D model. http://ccl.northwestern.edu/netlogo/models/Life3D. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
In other publications, please use:
- Copyright 1998 Uri Wilensky. All rights reserved. See http://ccl.northwestern.edu/netlogo/models/Life3D for terms of use.
COPYRIGHT NOTICE
Copyright 1998 Uri Wilensky. All rights reserved.
Permission to use, modify or redistribute this model is hereby granted, provided that both of the following requirements are followed:
a) this copyright notice is included.
b) this model will not be redistributed for profit without permission from Uri Wilensky. Contact Uri Wilensky for appropriate licenses for redistribution for profit.
This is a 3D version of the 2D model Life.
This model was created as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227.
Comments and Questions
patches-own [ alive-neighbors ] to setup-normal ca ask patches with [ pycor < 2 and pycor > -2 and pzcor = 0 and pxcor < 2 and pxcor > -2 ] [ set pcolor red ] end to setup-random ca ask n-of (count patches * ( initial-density / 100 ) ) patches [ set pcolor red ] end to go ask patches [ set alive-neighbors count neighbors with [ pcolor = red ] ] ask patches [ ifelse pcolor = red [ if (alive-neighbors < r3 or alive-neighbors > r4) [ set pcolor black ] ] [ if (alive-neighbors >= r1 and alive-neighbors <= r2) [ set pcolor red ] ] ] tick end ; Copyright 1998 Uri Wilensky. All rights reserved. ; The full copyright notice is in the Information tab.
There are 3 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Life 3D.png | preview | Preview for 'Life 3D' | over 11 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.