HYPERSPHERE_PROPERTIES Properties of 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.

Languages:

HYPERSPHERE_PROPERTIES is available in a C version and a C++ version and a FORTRAN77 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 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

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.

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.