linkmover
Section: Geometry Project Programs (l)
Updated: Date: 92/08/26
Index
Return to Main Contents
NAME
linkmover - evolve a knot or link in three-dimensional space.
SYNOPSIS
linkmover
[
-p
parameterfile
]
[
-?
]
[
linkfile
]
DESCRIPTION
Linkmover runs in conjuction with geomview to display the evolution
of a knot or link
in three-dimensional Euclidean space.
The program when invoked without a filename argument
comes up with a default choice of link, the borromean rings.
Other knots can be loaded as command line arguments,
in the link format (see 'man 5 link'). (The Next version
allows these files to be loaded from a browser.)
The evolution of the link is controlled by a set of sliders
each attached to one parameter of the dynamical system.
There are also a set of toggles which control the display
of the system and other options.
MATHEMATICAL DESCRIPTION
The evolution of the link is governed by a dynamical system
consisting of repelling and straightening forces.
The link is represented as a set of discrete points and
these points act on each other to create a
vector field on the link. Each point is moved in the direction
of this vector field to give the next state of the system.
By adjusting
these forces as the system evolves, the user can direct the
evolution in the manner he chooses. Parameters which govern
this dynamical system are available
to the user via labeled sliders.
COMMAND-LINE ARGUMENTS (SGI only)
- -p
-
Load named parameter file (previously saved using the "Save" command
noted below) to initialize parameter values.
- -?
-
Print out usage message.
SLIDERS
- R2
-
This is the coefficient of the inverse square repulsive law which
is the primary repulsive force. The inverse square repulsion is
computed between each pair of points A and B, except under
the condition described in 'Cut' below, or if A and B
are close neighbors on a single component of the link.
A force proportional to R2 in the opposite direction
from B is added to A's force vector, and vice-versa.
If A and B are sufficiently close, this repulsion is actually computed
to lie in the direction of the common perpendicular to the pair
of line segments adjoining A and B which are closest to each other.
- R3
-
There is an inverse cubic repulsion computed in exceptional cases
when two points come close together. It does not always succeed in
pushing the two points apart.
- Str
-
Another set of forces at each point P arises from a straightening tendency,
which is modeled by simply computing the weighted average of the points
in small neighborhood of P, and taking the difference vector to the
current location to P. This process is unstable if the velocity
slider (see 'Vel' below) times Str is greater than 1. The link
begins to undergo a strong oscillation in this case.
- Cut
-
This parameter determines a region of interest. Points which
lie beyond this distance to the given point are assumed not to
influence this point. Setting this to a small number can
speed up the computation by skipping many of the repulsion
calculations.
- Seg
-
This controls the segment length of the curves. A large value
reduces the number of points used to sample the curve, speeding
up the calculation; a small value has the opposite effect.
(but see BUGS below).
- Vel
-
This stands for velocity, and determines the time step to
use in the evolution. Making it larger will speed up the
computation at the expense of possible overshoot or instability
(see 'Str' above).
- Rad
-
This is a display parameter which determines the radius of
tubes used to represent the curve (if tubing is turned on),
and also the scaling used to draw the vector fields when they
are displayed.
TOGGLES
The Next version allows toggle access on the main panel,
while the SGi version uses the menu or keyboard.
There are a set of 4 toggles to turn on and off display of
vector fields:
- Showrepulsion
-
Show the repulsive vector field at each point. The displayed
color is yellow.
- Showstraightening
-
Show the straightening vector field at each point. The displayed
color is blue.
- Showall
-
Show the sum of the repulsive and straightening vector fields,
in white.
- Showpush
-
When two points come within a small distance of each other,
(determined by the segment length),
this causes a red line segment to be drawn between them,
as a warning to the user that the curves are threatening to
cross each other.
This is not technically a vector field but is included here
since it behaves much the same way.
The other toggles include:
- Showspheres
-
Not currently implemented, but would show the points of the curves
as small spheres.
- Showtubes
-
Put a tube around the link, whose radius is proportional to the
radius parameter.
- Rigor
-
Attempt to guarantee that the evolution preserves the topological type
of the link. This seems to work, primarily by grinding the evolution
to a halt.
- Stop
-
Temporarily halt the evolution.
OTHER COMMANDS
- Save
-
On the SGI's, this menu item will save the current state of
the sliders and toggles into the file
slider.dat
in the current directory. This file can be later reloaded
into linkmover using the '-p' command line option.
RELATED PROGRAMS
LinkTool, a Geometry Center NextStep application, can be used to draw
link diagrams. Choosing the '3D' file format on the save command
will yield a .lnk file which can be read into
linkmover.
FILES
Example link files are to be found in the OOGL release in
${GEOM}/data/links. Source code is in ${GEOM}/src/bin/linkmover.
where e.g., GEOM = /u/gcg/ngrap.
SEE ALSO
link(5)
AUTHORS
Charlie Gunn, based on an original MacIntosh version by Matt Grayson.
Charlie Gunn | The Geometry Center | gunn@geom.umn.edu
| 1300 S. 2nd St.
| Minneapolis, MN 55454
BUGS
The Next version and the SGI versions are slightly different.
The Next version allows loading of different links while running.
The command line arguments only apply to the iris version.
The names of the sliders in the SGI version are labeled in full.
Add picking so that the user can pull on pieces of the link
to untangle them.
The link can change topological type without noticing.
The repulsive parameters are sensitive to the segment length
parameter, but the straightening parameter isn't. That is,
more points will tend to magnify the repulsive tendency since
each point contributes to this, while only a fixed number
contribute to the straightening force. The fix is to normalize
so that the 'weight' of all points sums to 1.
The Next version runs only under NextStep 3.0.
The Next version has no way to save the current settings of the
sliders for re-use.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- MATHEMATICAL DESCRIPTION
-
- COMMAND-LINE ARGUMENTS (SGI only)
-
- SLIDERS
-
- TOGGLES
-
- OTHER COMMANDS
-
- RELATED PROGRAMS
-
- FILES
-
- SEE ALSO
-
- AUTHORS
-
- BUGS
-
This document was created by
man2html,
using the manual pages.
Time: 01:36:59 GMT, December 05, 2024