Antiprism Up Next
Home
Programs
Examples
Album
Download
Development
Forum
About

repel - equilibrium of points repelling on a sphere

Usage    |    Examples    |    Notes

Usage



Usage: repel [options] [input_file]

An equilibrium position is found for a set of points which repel each
other. The initial coordinates are read from input_file if given (or
from standard input), otherwise use -N to generate a random set.

Options
  -h,--help this help message (run 'off_util -H help' for general help)
  --version version information
  -N <num>  initialise with a number of randomly placed points
  -n <itrs> maximum number of iterations (default: no limit)
  -s <perc> percentage to shorten the travel distance (default: adaptive)
  -l <lim>  minimum distance change to terminate, as negative exponent
               (default: 12 giving 1e-12)
  -r <rep>  repelling formula
              1 - inverse of distance
              2 - inverse square of distance (default)
              3 - inverse cube of distance
              4 - inverse square root of distance
  -o <file> write output to file (default: write to standard output)


Examples

Make a snub cube
repel -N 24 -l 15 | conv_hull -o snub_cube.off


Make a snub cube in fewer iterations by not using adaptive shortening
repel -N 24 -s 1 -l 15 | conv_hull -o snub_cube.off


Notes

The default adaptive shortening of travel will not always be quickest. It is worth experimenting with specific values using option -s. However, in the snub cube examples above the adaptive shortening gives better results, producing more accurate squares.

The progress report includes the number of iterations, the greatest distance moved by a point, the shortening factor, and the sum of all the forces.

If adaptive shortening is used then there is also a line of figures showing the number of times out of ten that the shortening factor was increased.


     Next: minmax - optimal spherical tesselations
     Up: Programs and Documentation


Home   |   Programs   |   Examples   |   Album   |   Download   |   Development   |   Forum   |   About

Contact: adrian@antiprism.com      -      Modified 12.9.2016