**ellipse**,
a FORTRAN90 code which
carries out geometric calculations for ellipses and ellipsoids, including
area, distance to a point, eccentricity, perimeter, points along the
perimeter, random sampling, conversion between standard and quadratic forms.

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

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

dutch, a FORTRAN90 code which carries out tasks in computational geometry.

geometry, a Fortran90 code which performs geometric calculations in 2, 3 and M dimensional space, including the computation of angles, areas, containment, distances, intersections, lengths, and volumes.

hypersphere, a FORTRAN90 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.

random_data, a Fortran90 code which uses a random number generator (RNG) to sample points corresponding to various probability density functions (PDF), spatial dimensions, and geometries, including the annulus, circle, ellipse, ellipsoid, hypercube, hypersphere, simplex, tetrahedron and triangle.

tetrahedron, a FORTRAN90 code which computes properties of a given tetrahedron.

triangle, a Fortran90 code which computes properties, including angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality, of a triangle in 2D.

- ellipse.f90, the source code;
- ellipse.sh, compiles the source code.