XScreenSaver(1)                                                XScreenSaver(1)


       attraction - interactions of opposing forces


       attraction  [-display  host:display.screen] [-foreground color] [-back-
       ground 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]


       The attraction program has several visually different modes  of  opera-
       tion,  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 num-
               ber 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  con-
               trol 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  indi-
               cated  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 100.  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 poly-
               gons 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  ini-
               tially  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 resis-
               tance.  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 (analagously 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  tendancy  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 annoy-
               ing effects.

               Uses a more intelligent bouncing algorithm.  This method  actu-
               ally  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


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


       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

X Version 11                       14-Jun-97                   XScreenSaver(1)

Man(1) output converted with man2html