Provided by: xscreensaver-data-extra_5.15-2ubuntu1_i386 bug


       attraction - interactions of opposing forces


       attraction    [-display    host:display.screen]   [-foreground   color]
       [-background  color]  [-window]  [-root]  [-mono]  [-install]  [-visual
       visual]  [-points int] [-threshold int] [-mode balls | lines | polygons
       | splines | filled-splines  |  tails  ]  [-size  int]  [-segments  int]
       [-delay  usecs]  [-color-shift  int]  [-radius int] [-vx int] [-vy int]
       [-glow] [-noglow]  [-orbit]  [-viscosity  float]  [-mouse]  [-no-mouse]
       [-mouse-size]  [-walls] [-nowalls] [-maxspeed] [-nomaxspeed] [-correct-
       bounce] [-fast-bounce] [-fps]


       The  attraction  program  has  several  visually  different  modes   of
       operation,  all  of  which  are  based  on the interactions of a set of
       control points which attract each other up to a certain  distance,  and
       then   begin   to   repel  each  other.   The  attraction/repulsion  is
       proportional to the distance between any two particles.


       attraction 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 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

       -points integer
               How many control points should be used,  or  0  to  select  the
               number randomly.  Default 0.  Between 3 and 15 works best.

       -threshold integer
               The  distance  (in  pixels)  from  each  particle  at which the
               attractive force becomes repulsive.  Default 100.

       -mode balls | lines | polygons | tails | splines | filled-splines
               In balls mode (the default) the control  points  are  drawn  as
               filled  circles.   The  larger the circle, the more massive the

               In lines mode, the control points  are  connected  by  straight
               lines; the effect is something like qix.

               In  polygons mode, the control points are connected by straight
               lines, and filled in.  This is most interesting in color.

               In splines mode, a  closed  spline  is  interpolated  from  the
               control points.

               In  filled-splines  mode,  the splines are filled in instead of
               being outlines.  This is most interesting in color.

               In  tails  mode,  the  path  which  each  particle  follows  is
               indicated  by  a worm-like trail, whose length is controlled by
               the segments parameter.

       -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 the same size.  This option has an effect in  all
               modes, since the ``size'' of the balls controls their mass.

       -segments integer
               If in lines or polygons mode, how many sets of line segments or
               polygons should be drawn. Default 500.  This has no  effect  in
               balls  mode.   If  segments is 0, then no segments will ever be
               erased (this is only useful in color.)

       -delay microseconds
               How much of a delay should be introduced between steps  of  the
               animation.  Default 10000, or about 0.01 seconds.

       -color-shift int
               If  on  a  color  display,  the  color  of the line segments or
               polygons will 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 balls mode.

       -radius The size in pixels of  the  circle  on  which  the  points  are
               initially positioned.  The default is slightly smaller than the
               size of the window.

       -glow   This is consulted only in balls mode.  If  this  is  specified,
               then  the  saturation  of  the  colors  of the points will vary
               according to their current acceleration.  This has  the  effect
               that  the  balls  flare brighter when they are reacting to each
               other most strongly.

               In glow mode, all of the balls will be drawn the same  (random)
               color,  modulo  the  saturation  shifts.  In non-glow mode, the
               balls will each be drawn in a random color that doesn't change.

       -noglow Don't do ``glowing.''  This is the default.

       -vx pixels

       -vy pixels
               Initial velocity of the balls.  This has no  effect  in  -orbit

       -orbit  Make the initial force on each ball be tangential to the circle
               on which they are initially placed, with the right velocity  to
               hold  them  in orbit about each other.  After a while, roundoff
               errors will cause the orbit to decay.

       -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 0.9, meaning a slight inward pull.

       -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
               attraction -viscosity 0.8 -points 75 \
                 -mouse -geometry =500x500
               Give it a few seconds to settle down into a stable  clump,  and
               then move the mouse through it to make "waves".

       -mouse  This  will cause the mouse to be considered a control point; it
               will not be drawn, but it will influence the other  points,  so
               you can wave the mouse and influence the images being created.

               Turns off -mouse.

       -mouse-size integer
               In -mouse mode, this sets the mass of the mouse (analogously to
               the -size parameter.)

               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.

       -walls  This will cause the balls to bounce when they get to  the  edge
               of the screen or window.  This is the default behavior.

               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.

               If this is specified, no maximum speed is set for the balls.

               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.

               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.

       -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

       -fps    Display the current frame rate and CPU load.


       DISPLAY to get the default host and display number.

               to get the name of a resource file that  overrides  the  global
               resources stored in the RESOURCE_MANAGER property.


       X(1), xscreensaver(1)


       Copyright  ©  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


       Jamie Zawinski <>, 13-aug-92.

       Viscosity and mouse support by Philip Edward Cutone, III.

       Walls, speed limit options, new bouncing, graphs, and tail mode fix  by
       Matthew Strait. 31 March 2001