hypersphere


hypersphere, a FORTRAN90 code which carries out various operations for an M-dimensional hypersphere, including converting between Cartesian and spherical coordinates, stereographic projection, sampling the surface of the sphere, and computing the surface area and volume.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

hypersphere is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

hypersphere_test

ellipse, a Fortran90 code which carries out geometric calculations for ellipses and ellipsoids, including area, distance to a point, eccentricity, perimeter, points along the perimeter, random sampling, conversion between standard and quadratic forms.

geometry, a FORTRAN90 code which performs geometric calculations in 2, 3 and M dimensional space.

hypersphere_monte_carlo, a FORTRAN90 code which applies a Monte Carlo method to estimate the integral of a function on the surface of the unit sphere in M dimensions;

random_data, a FORTRAN90 code which generates sample points for various probability distributions, spatial dimensions, and geometries, including the M-dimensional cube, ellipsoid, simplex and sphere.

sphere_stereograph, a FORTRAN90 code which computes the stereographic mapping between points on the unit sphere and points on the plane Z = 1; a generalized mapping is also available

Reference:

    George Marsaglia,
    Choosing a point from the surface of a sphere,
    Annals of Mathematical Statistics,
    Volume 43, Number 2, April 1972, pages 645-646.

Source Code:


Last revised on 16 July 2020.