USAGE: lifecv -s |-[] [ ..] draws the game of "life" with toroidal topology on a sphere. Living cells are shown as RGB=(0,255,0), dead cells as RGB=(255,0,0). USAGE: lifecv -r |-[] [ ..] draws the game of "life" with toroidal topology on a rectangle. Living cells are shown as RGB=(0,255,0), dead cells as RGB=(255,0,0). USAGE: lifecv -t |-[] [ ..] writes the game of "life" with toroidal topology to stdout. Living cells are shown as "#", dead cells as ":", created cells as "*" and destroyed cells as " ". By default is 100, 20 for option -t . USAGE: lifecv -g W// [/ ..] writes an initial configuration to stdout. Default: 8/5000 is 1..8 . The sum of should not exceed 10000. The remainder is filled with "0" (dead cells). INIT: is an ASCII file with the initial configuration as "0".."8", indicating the initial probability (none..assured) of life at a cell. All rows should be followed by exactly one line commencing with "-". All rows should be of equal length. Empty lines and lines starting with "#" are ignored. ARG: a[ntialias/] for projection of sphere. Default: 2 . b[irth/]/ birth rate. Default: see rules. d[ead/] Default with : 0.60 . d[ead/]- fraction of cells that are alive. G[rain/] size of cell in pixels. Default: 2 . s[urvival/]/ survival rate. Default: see rules. is on a scale 0..10000. m[/]/ is on a scale 0..10000. Default: 0 10000 . M[irror/] Default: 3 for "-s", 1 otherwise. B[utton/]// change button colour. C[reated/]// change created colour. C show created colour if a living cell is inserted. Default: don't. D[ead/]// change colour of dead cells. L[ive/]// change colour of alive cells. N[eutral/]// change neutral colour. V[elum/]// change velum colour. K[illed/]// change destroyed colour. K show destroyed colour if a living cell is removed. Default: don't. A[lternative] use alternative colours for alive and dead cells; gamma=1 . W[ipe] clear screen before redrawing. f[aintinghistory] for -r do not display fainting history. h[istory] for -r do not display history of cells over 6 generations. n[ohistory] for -r do not display history of cells over 6 generations. Default: display no history. S[EED] write Random seed to stdout. S[EED/][x]/ [hexadecimal] random seed, calls Rand48() times before using it. Default: derived from time(). R[elative/] Default: 0.490000 . p[ole/] Default: 80.00 . t[ime/]/ Default: 1.57080 8 angle- and timestep. T[able/] for asin() table. Default: 4.00 . w[/]/ Default: 600 600 XWindow size. g[enerations/] Default: 4 for "-r", 1 otherwise. v[erbose] write population statistics to stdout. PROTOCOL for sphere with sliders: Click in a slider to change to rate of rotation. Drag from a slider to the central area to stop the rotation. Drag from a slider to a corner to stop the rotation and reset angles. Click left button at cell to create or destroy one cell. Click middle button at cell to create or destroy a traffic light. Click right button at cell to create or destroy 2X2 block. PROTOCOL for rectangle: Drag to move cells. Click left button at cell to create or destroy one cell. Click middle button at cell to create or destroy a traffic light. Click right button at cell to create or destroy 2X2 block. Type "c" in window to create cells to . Type "d" in window to destroy cells to. Type "g" in window to number of generations per view, 1-->4, otherwise-->1. Type "f" in window to display fainting history. Type "h" in window to display history of all 6 states. Type "n" in window to display no history. Type "r" in window to restore initial or last saved state. Type "s" in window to save current state. Type "w" in window to write saved state to file "life__". Type "v" in window to start/stop verbose mode. Type "x,y,z" halt rotation. Type "a" arrest rotation. Type "0" halt rotation and reset axes. Type "+" in window to speed up. Type "-" in window to slow down. Type "" in window to freeze/continue. Type "?" write this Help info to stdout. Type "q" in window to quit. DEFAULT RULES OF "LIFE": no neighbor: cell dies from isolation. 1 neighbor: cell die from isolations. 2 neighbors: cell survives. 3 neighbors: cell survives or is born. Layout: 4 neighbors: cell dies from overcrowding. n | n | n 5 neighbors: cell dies from overcrowding. --------- 6 neighbors: cell dies from overcrowding. n | c | n 7 neighbors: cell dies from overcrowding. --------- 8 neighbors: cell dies from overcrowding. n | n | n USING: OpenCV version 1.1.0 (1.1.0) VERSION: Jun 10 2014 SEE ALSO: Mathematical Games, Sci. Am. Oct 1970. Copyright (C) 2003-2011 by Harm J. Schoonhoven Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.