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.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
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.
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.