HYPERSPHERE_PROPERTIES
The M-dimensional Sphere


HYPERSPHERE_PROPERTIES is a C library 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_PROPERTIES is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

GEOMETRY, a C library which performs geometric calculations in 2, 3 and M dimensional space.

HYPERSPHERE_MONTE_CARLO, a C 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 C 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 C++ 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 C 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_PROPERTIES, a C 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_PROPERTIES, a C program which computes properties of a triangle whose vertex coordinates are read from a file.

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:

Examples and Tests:

List of Routines:

You can go up one level to the C source codes.


Last revised on 10 May 2014.