**triangle**,
a FORTRAN90 code which
can compute properties of a triangle, including angles, area, centroid, circumcircle,
edge lengths, incircle, orientation, orthocenter, and quality.

These properties include:

- Angles;
- Area;
- Centroid;
- Circumcircle (center and radius);
- Edge lengths;
- Incircle (center and radius);
- Orientation;
- Orthocenter;
- Quality: ratio of incircle radius / circumcircle radius;

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

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

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.

geometry, a FORTRAN90 code which performs geometric calculations in 2, 3 and N dimensional space.

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.

polygon, a FORTRAN90 code which computes properties of an arbitrary polygon in the plane, defined by a sequence of vertices, including interior angles, area, centroid, containment of a point, convexity, diameter, distance to a point, inradius, lattice area, nearest point in set, outradius, uniform sampling.

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

TRIANGLE_ANALYZE, a FORTRAN90 code which reads a triangle from a file, and then reports various properties.

TRIANGLE_INTERPOLATE, a FORTRAN90 code which shows how vertex data can be interpolated at any point in the interior of a triangle.

- triangle.f90, the source code.
- triangle.sh, compiles the source code.