geometry, a FORTRAN90 code which carries out geometric calculations, including 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.
DUTCH, a FORTRAN90 code which carries out tasks in computational geometry.
POLYGON_MOMENTS, a FORTRAN90 code which computes arbitrary moments of a polygon.
SIMPLEX_COORDINATES, a FORTRAN90 code which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
SPHERE_GRID, a FORTRAN90 code which provides a number of ways of generating grids of points, or of points and lines, or of points and lines and faces, over the unit sphere.
TABLE_DELAUNAY, a FORTRAN90 code which reads a file of point coordinates in the TABLE format and writes out the Delaunay triangulation.
TET_MESH, a FORTRAN90 code which carries out various operations on tetrahedral meshes.
TRIANGULATION, a FORTRAN90 code which defines and analyzes triangulations.
TRIANGULATION_TRIANGLE_NEIGHBORS, a FORTRAN90 code which reads data defining a triangulation, determines the neighboring triangles of each triangle, and writes that information to a file.