**geometry**,
a C code which
performs certain geometric calculations in 2, 3 and N space.

These calculations include angles, areas, containment, distances, intersections, lengths, and volumes.

Some geometric objects can be described in a variety of ways. For instance, a line has implicit, explicit and parametric representations. The names of routines often will specify the representation used, and there are routines to convert from one representation to another.

Another useful task is the delineation of a standard geometric object. For instance, there is a routine that will return the location of the vertices of an octahedron, and others to produce a series of "equally spaced" points on a circle, ellipse, sphere, or within the interior of a triangle.

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

**geometry** is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.

ellipse, a C code which performs geometric calculations related to ellipses and ellipsoids.

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

polygon_moments, a C code which computes arbitrary moments of a polygon.

sphere_quad, a C code which approximates an integral over the surface of the unit sphere by applying a triangulation to the surface;

TETRAHEDRONS, a dataset directory which contains examples of tetrahedrons;

TRIANGLES, a dataset directory which contains examples of triangles;

TRIANGULATE, a C code which triangulates a (possibly nonconvex) polygon.

- geometry.c, the source code.
- geometry.sh, compiles the source code.
- geometry.h, the include file.