Provided by: xscreensaver-data-extra_5.08-0ubuntu3_i386 bug


        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]
        [-fast-bounce] [-fps]


        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 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 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 (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 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
        -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  (C)  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