critical
XScreenSaver(r)                                   XScreenSaver(r)



NAME
       critical - Draw a system showing self-organizing critical-
       ity

SYNOPSIS
       critical   [-display   host:display.screen]   [-foreground
       color]   [-background  color]  [-window]  [-root]  [-mono]
       [-install]  [-visual  visual]  [-delay  seconds]  [-random
       boolean] [-ncolors int] [-offset int]

DESCRIPTION
       The  critical  program displays a self-organizing critical
       system that gradually emerges from chaos.

       critical performs a simulation on a two-dimensional  array
       of  integers.   The array is initialized to random values.
       On each iteration, it draws a line to the  array  position
       with  the  greatest value.  It then replaces that location
       and the eight neighboring locations with randomly-selected
       values.

       The  lines  are  initially random, but over time a chaotic
       self-organizing system evolves: areas of the screen  which
       happen  to have lower values are less likely to be updated
       to new values, and so the line tends to avoid those areas.
       Eventually, the histogram of changes approaches the power-
       law curve typical of such systems.

       The simplest documented self-organizing system is the one-
       dimensional equivalent of critical.

       I heard about this algorithm second-hand: apparently there
       was an article in Scientific American describing it  some-
       time in 1997.

OPTIONS
       critical accepts the following options:

       -window Draw  on  a  newly-created  window.   This  is the
               default.

       -root   Draw on the root window.

       -mono   If  on  a  color  display,  pretend  we're  on   a
               monochrome display.

       -install
               Install a private colormap for the window.

       -visual visual
               Specify which visual to use.  Legal values are the
               name of a visual class, or the id number  (decimal
               or hex) of a specific visual.

       -delay usecs
               Number  of microseconds to wait after drawing each
               line.

       -random boolean
               Whether to use randomly  selected  colours  rather
               than a cycle around the colour wheel.

       -offset integer
               The maximum random radius increment to use.

       -ncolors integer
               How  many  colors should be allocated in the color
               ramp (note that this value interacts with offset.)

       -trail integer
               Length of the trail: between 5 and 100 is nice.

ENVIRONMENT
       DISPLAY to get the default host and display number.

       XENVIRONMENT
               to  get the name of a resource file that overrides
               the global resources stored in  the  RESOURCE_MAN-
               AGER property.

SEE ALSO
       X(X),   xscreensaver(r)  xscreensaver-command(d)  xscreen-
       saver-demo(o)

COPYRIGHT
       Copyright (C) 1998 by Martin Pool.

       Permission to use, copy, modify, distribute, and sell this
       software  and  its documentation for any purpose is hereby
       granted without fee, provided  that  the  above  copyright
       notice  appear  in all copies and that both that copyright
       notice and this permission  notice  appear  in  supporting
       documentation.   No  representations  are  made  about the
       suitability of this software for any purpose.  It is  pro-
       vided "as is" without express or implied warranty.

AUTHOR
       Martin Pool <mbp@humbug.org.au>, 1998-2000.  Based in part
       on the XScreenSaver code by Jamie Zawinski  <jwz@jwz.org>.



X Version 11               08 Feb 2000            XScreenSaver(r)