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.
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 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.
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.