Unisphere

Unisphere is a simple program to evenly distribute many points on sphere. We study four different methods for distributing points on the sphere and numerically analyze their relative merits with respect to certain metrics. The analysis of the merits of the algorithms is based on the calculation of the metrics V0 and V1 . Given points z1, ... , zN on the sphere S2 of unit radius we set

Vs = Vs(z1, . . . , zN) =

where s>0 is a positive real number and |zj - zk| denotes the distance in R3 of zj and zk . The metric V0 = V0 (z1, . . . , zN) is more appropriately defined for points on the sphere S2 of unit diameter and is defined as

V0 =

Here also  |zj - zk| refers to the distance of zj and zk in R3 .

For each s≥0, the configuration of the points of minimum of Vs, demonstrates "evenly" distributed points on the sphere. For example, an equilibrium sate of N electronic charges on a sphere produces minimum Coulomb potential, V1 . We have investigated some practical methods by which one can obtain an approximate optimal configuration of points without any explicit practice of minimization methods.

The methods are described in more detail in:

Optimal configuration is not necessarily fully symmetric!

 


N
=4, Tetrahedron

N
=5

N
=6, Hexahedron

N
=7

 


N
=8, Twisted Cube

N
=9

N
=10

N
=11

 


N
=12, Icosahedron

N
=32

N
=42

 


N
=60, Triangulated Form

N
=60, Buckyball

 

 

Comparison of the configuration of large numbers of points

Usage

The package, Unisphere includes an instance application, SPoptim to generate points on shpere. A pre-compiled version of SPoptim is available for Win32. The simplest usage is as follows;

$ SPoptime N metric

in which N is the number of points and metric is one of three letters G|H|L. Run 'SPoptime' with no input in command shell for more info.

Optionally, the initial configuration and optimal configuration of points can be read from a text file. The output contains two coloumns of real numbers. The first coloumn denotes THETA and the second denotes PHI corresponding to spherical coordinates of each point.

Installation

The Unisphere package is written in C++. It should compile on any Unix-like system. To install the package, download the source code, unpack it, and then compile the sources, all together. This creates the SPoptim program.

[ Click here to start download ]

Contact

Ali Katanforoush, <a_katanforosh@sbu.ac.ir>, Department of Computer Science, Shahid Beheshti University, G.C., Tehran.

Time-stamp: "2010-09-18 19:47:23 katanforoush"