hypersphere


hypersphere, a FORTRAN77 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 an Octave version and a Python version.

Related Data and Programs:

hypersphere_test

geometry, a FORTRAN77 library which performs geometric calculations in 2, 3 and M dimensional space.

HYPERSPHERE_MONTE_CARLO, a FORTRAN77 library which applies a Monte Carlo method to estimate the integral of a function on the surface of the unit sphere in M dimensions;

POLYGON_PROPERTIES, a FORTRAN77 library which computes properties of an arbitrary polygon in the plane, defined by a sequence of vertices, including interior angles, area, centroid, containment of a point, convexity, diameter, distance to a point, inradius, lattice area, nearest point in set, outradius, uniform sampling.

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

SPHERE_STEREOGRAPH, a FORTRAN77 library which computes the stereographic mapping between points on the unit sphere and points on the plane Z = 1; a generalized mapping is also available

TETRAHEDRON, a FORTRAN77 program which computes properties of a tetrahedron in 3D, including the centroid, circumsphere, dihedral angles, edge lengths, face angles, face areas, insphere, quality, solid angles, and volume.

TRIANGLE, a FORTRAN77 program which computes properties of a triangle given its vertex coordinates.

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 19 August 2023.