From http://www.jwz.org/xscreensaver/xscreensaver-5.22.tar.gz
[xscreensaver] / hacks / attraction.man
index 334898ee6fc2c304d1df555136a5a8509aae53ff..66303553e15be428ac724591f8b2cf4d018a11b6 100644 (file)
@@ -1,9 +1,32 @@
-.TH XScreenSaver 1 "22-mar-93" "X Version 11"
+.de EX         \"Begin example
+.ne 5
+.if n .sp 1
+.if t .sp .5
+.nf
+.in +.5i
+..
+.de EE
+.fi
+.in -.5i
+.if n .sp 1
+.if t .sp .5
+..
+.TH XScreenSaver 1 "14-Jun-97" "X Version 11"
 .SH NAME
 attraction - interactions of opposing forces
 .SH SYNOPSIS
 .B attraction
-[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP] [\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install] [\-visual \fIvisual\fP] [\-points \fIint\fP] [\-threshold \fIint\fP] [\-mode balls | lines | polygons | splines | filled-splines | tails ] [\-color-mode cycle | random] [\-size \fIint\fP] [\-segments \fIint\fP] [\-delay \fIusecs\fP] [\-color-shift \fIdegrees\fP] [\-radius \fIint\fP] [\-vx \fIint\fP] [\-vy \fIint\fP] [\-glow] [\-noglow] [\-orbit]
+[\-display \fIhost:display.screen\fP] [\-foreground \fIcolor\fP]
+[\-background \fIcolor\fP] [\-window] [\-root] [\-mono] [\-install]
+[\-visual \fIvisual\fP] [\-points \fIint\fP] [\-threshold \fIint\fP]
+[\-mode balls | lines | polygons | splines | filled-splines | tails ]
+[\-size \fIint\fP] [\-segments \fIint\fP] [\-delay \fIusecs\fP]
+[\-color-shift \fIint\fP] [\-radius \fIint\fP]
+[\-vx \fIint\fP] [\-vy \fIint\fP] [\-glow] [\-noglow]
+[\-orbit] [\-viscosity \fIfloat\fP]
+[\-walls] [\-nowalls] [\-maxspeed] [\-nomaxspeed]
+[\-correct-bounce] [\-fast-bounce]
+[\-fps]
 .SH DESCRIPTION
 The \fIattraction\fP program has several visually different modes of 
 operation, all of which are based on the interactions of a set of control
@@ -58,9 +81,6 @@ In \fItails\fP mode, the path which each particle follows is indicated
 by a worm-like trail, whose length is controlled by the \fIsegments\fP
 parameter.
 .TP 8
-.B \-color-mode cycle | random
-Whether colors should cycle through the spectrum, or be picked randomly.
-.TP 8
 .B \-size integer
 The size of the balls in pixels, or 0, meaning to select the sizes 
 randomly (the default.)  If this is specified, then all balls will be 
@@ -69,7 +89,7 @@ of the balls controls their mass.
 .TP 8
 .B \-segments integer
 If in \fIlines\fP or \fIpolygons\fP mode, how many sets of line segments
-or polygons should be drawn. Default 100.  This has no effect in \fIballs\fP
+or polygons should be drawn. Default 500.  This has no effect in \fIballs\fP
 mode.  If \fIsegments\fP is 0, then no segments will ever be erased (this
 is only useful in color.)
 .TP 8
@@ -77,10 +97,11 @@ is only useful in color.)
 How much of a delay should be introduced between steps of the animation.
 Default 10000, or about 0.01 seconds.
 .TP 8
-.B \-color-shift degrees
+.B \-color-shift int
 If on a color display, the color of the line segments or polygons will 
-cycle through the spectrum.  This specifies how far the hue of each segment
-should be from the next, in degrees on the HSV wheel.  Default 3.
+cycle through the color map.  This specifies how many lines will be drawn
+before a new color is chosen.  (When a small number of colors are available,
+increasing this value will yield smoother transitions.)  Default 3.
 This has no effect in \fIballs\fP mode.
 .TP 8
 .B \-radius
@@ -114,10 +135,59 @@ to decay.
 .B \-vmult float
 In orbit mode, the initial velocity of the balls is multiplied by this;
 a number less than 1 will make the balls pull closer together, and a larger
-number will make them move apart.  The default is 1, meaning stability.
-.SH ENVIRONMENT
-.PP
+number will make them move apart.  The default is 0.9, meaning a slight
+inward pull.
 .TP 8
+.B \-viscosity float
+This sets the viscosity of the hypothetical fluid through which the control
+points move; the default is 1, meaning no resistance.  Values higher than 1
+aren't interesting; lower values cause less motion.
+
+One interesting thing to try is
+.EX
+attraction -viscosity 0.8 -points 300 -size 10 -geometry =500x500
+.EE
+Give it a few seconds to settle down into a stable clump, and then move
+the drag the mouse through it to make "waves".
+.TP 8
+.B \-nowalls
+This will cause the balls to continue on past the edge of the
+screen or window.  They will still be kept track of and can come back.
+.TP 8
+.B \-walls
+This will cause the balls to bounce when they get
+to the edge of the screen or window.  This is the default behavior.
+.TP 8
+.B \-maxspeed
+Imposes a maximum speed (default).  If a ball ends up going faster than
+this, it will be treated as though there were .9  viscosity until it is
+under the limit. This stops the balls from continually accelerating (which
+they have a tendency to do), but also causes balls moving very fast to
+tend to clump in the lower right corner.
+.TP 8
+.B \-nomaxspeed
+If this is specified, no maximum speed is set for the balls.
+.TP 8
+.B \-fast-bounce
+Uses the old, simple bouncing algorithm (default).  This simply moves any
+ball that is out of bounds back to a wall and reverses its velocity.
+This works fine for most cases, but under some circumstances, the
+simplification can lead to annoying effects.
+.TP 8
+.B \-correct-bounce
+Uses a more intelligent bouncing algorithm.  This method actually reflects
+the balls off the walls until they are within bounds.  This can be slow
+if balls are bouncing a whole lot, perhaps because of -nomaxspeed.
+.TP 8
+.B \-graphmode none | x | y | both | speed
+For "x", "y", and "both", displays the given velocities of each ball as a
+bar graph in the same window as the balls.  For "speed", displays the total
+speed of each ball.  Default is "none".
+.BR
+.TP 8
+.B \-fps
+Display the current frame rate and CPU load.
+.SH ENVIRONMENT
 .B DISPLAY
 to get the default host and display number.
 .TP 8
@@ -128,12 +198,17 @@ stored in the RESOURCE_MANAGER property.
 .BR X (1),
 .BR xscreensaver (1)
 .SH COPYRIGHT
-Copyright \(co 1992, 1993 by Jamie Zawinski.  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.
+Copyright \(co 1992, 1993, 1997 by Jamie Zawinski.  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.
 .SH AUTHOR
-Jamie Zawinski <jwz@mcom.com>, 13-aug-92.
+Jamie Zawinski <jwz@jwz.org>, 13-aug-92.
+
+Viscosity support by Philip Edward Cutone, III.
+
+Walls, speed limit options, new bouncing, graphs, and tail mode fix by
+Matthew Strait. 31 March 2001