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