ftp://ftp.smr.ru/pub/0/FreeBSD/releases/distfiles/xscreensaver-3.16.tar.gz
[xscreensaver] / hacks / critical.man
1 .TH XScreenSaver 1 "13-Nov-98" "X Version 11"
2 .SH NAME
3 critical - Draw a system showing self-organizing criticality
4 .SH SYNOPSIS
5 .B critical
6 [\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-delay \fIseconds\fP] [\-random \fIboolean\fP] [\-ncolors \fIint\fP] [\-offset \fIint\fP] 
7 .SH DESCRIPTION
8 The \fIcritical\fP program displays a self-organizing critical system
9 that gradually emerges from chaos.
10
11 \fIcritical\fP performs a simulation on a two-dimensional array of
12 integers.  The array is initialized to random values.  On each
13 iteration, it draws a line to the array position with the greatest
14 value.  It then replaces that location and the eight neighboring
15 locations with randomly-selected values.
16
17 The lines are initially random, but over time a chaotic
18 self-organizing system evolves: areas of the screen which happen to
19 have lower values are less likely to be updated to new values, and so
20 the line tends to avoid those areas.  Eventually, the histogram of
21 changes approaches the power-law curve typical of such systems.
22
23 The simplest documented self-organizing system is the one-dimensional
24 equivalent of \fIcritical\fP.
25
26 I heard about this algorithm second-hand: apparently there was an
27 article in \fIScientific American\fP describing it sometime in 1997.
28 .SH OPTIONS
29 .I critical
30 accepts the following options:
31 .TP 8
32 .B \-window
33 Draw on a newly-created window.  This is the default.
34 .TP 8
35 .B \-root
36 Draw on the root window.
37 .TP 8
38 .B \-mono 
39 If on a color display, pretend we're on a monochrome display.
40 .TP 8
41 .B \-install
42 Install a private colormap for the window.
43 .TP 8
44 .B \-visual \fIvisual\fP
45 Specify which visual to use.  Legal values are the name of a visual class,
46 or the id number (decimal or hex) of a specific visual.
47 .TP 8
48 .B \-delay \fIusecs\fP
49 Number of microseconds to wait after drawing each line.
50 .TP 8
51 .B \-random \fIboolean\fP
52 Whether to use randomly selected colours rather than a cycle around
53 the colour wheel.
54 .TP 8
55 .B \-offset \fIinteger\fP
56 The maximum random radius increment to use.
57 .TP 8
58 .B \-ncolors \fIinteger\fP
59 How many colors should be allocated in the color ramp (note that this
60 value interacts with \fIoffset\fP.)
61 .SH ENVIRONMENT
62 .PP
63 .TP 8
64 .B DISPLAY
65 to get the default host and display number.
66 .TP 8
67 .B XENVIRONMENT
68 to get the name of a resource file that overrides the global resources
69 stored in the RESOURCE_MANAGER property.
70 .SH SEE ALSO
71 .BR X (1),
72 .BR xscreensaver (1)
73 .BR xscreensaver-command (1)
74 .BR xscreensaver-demo (1)
75 .SH COPYRIGHT
76 Copyright \(co 1998 by Martin Pool.
77
78 Permission to use, copy, modify, distribute, and sell this software
79 and its documentation for any purpose is hereby granted without fee,
80 provided that the above copyright notice appear in all copies and that
81 both that copyright notice and this permission notice appear in
82 supporting documentation.  No representations are made about the
83 suitability of this software for any purpose.  It is provided "as is"
84 without express or implied warranty.
85 .SH AUTHOR
86 Martin Pool <mbp@humbug.org.au>, 13-Nov-1998.  Based in part on the
87 XScreenSaver code by Jamie Zawinski <jwz@jwz.org>.