HYPERSPHERE_PROPERTIES
Properties of the Mdimensional Sphere
HYPERSPHERE_PROPERTIES
is a C++ library which
carries out various operations for an Mdimensional 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;
RANDOM_DATA,
a C++ library which
generates sample points for
various probability distributions, spatial dimensions, and geometries,
including the Mdimensional 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
Reference:
George Marsaglia,
Choosing a point from the surface of a sphere,
Annals of Mathematical Statistics,
Volume 43, Number 2, April 1972, pages 645646.
Source Code:
Examples and Tests:
List of Routines:

CARTESIAN_TO_HYPERSPHERE: Cartesian to hypersphere coordinate transform.

HYPERSPHERE_01_AREA computes the surface area of a unit sphere in ND.

HYPERSPHERE_01_AREA_VALUES returns some areas of the unit sphere in ND.

HYPERSPHERE_01_INTERIOR_UNIFORM: uniform points inside unit hypersphere.

HYPERSPHERE_01_SURFACE_UNIFORM: uniform points on unit hypersphere surface.

HYPERSPHERE_01_VOLUME computes the volume of a unit sphere in ND.

HYPERSPHERE_01_VOLUME_VALUES returns some volumes of the unit sphere in ND.

HYPERSPHERE_AREA computes the surface area of an implicit sphere in ND.

HYPERSPHERE_STEREOGRAPH: stereographic mapping of points on a hypersphere.

HYPERSPHERE_STEREOGRAPH_INVERSE inverts a stereographic map.

HYPERSPHERE_SURFACE_UNIFORM: uniform hypersphere surface samples

HYPERSPHERE_TO_CARTESIAN: hypersphere to Cartesian coordinate transform.

HYPERSPHERE_VOLUME computes the volume of a hypersphere.

R8_UNIFORM_01 returns a unit pseudorandom R8.

R8MAT_NORMAL_01 returns a unit pseudonormal R8MAT.

R8VEC_NORMAL_01 returns a unit pseudonormal R8VEC.

R8VEC_TRANSPOSE_PRINT prints an R8VEC "transposed".

R8VEC_UNIFORM_01 returns a unit pseudorandom R8VEC.

SPHERE_STEREOGRAPH computes the stereographic image of points on a sphere.

SPHERE_STEREOGRAPH_INVERSE computes stereographic preimages of points.

TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the C++ source codes.
Last revised on 11 May 2014.