NAME
critical - Draw a system showing self-organizing
criticality
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 sometime 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_MANAGER property.
SEE ALSO
X(1),
xscreensaver(1)
xscreensaver-command(1)
xscreensaver-demo(1)
COPYRIGHT
Copyright © 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
provided "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>.