**triangle**,
a C code which
computes 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 MIT 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 C 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 C code which performs geometric calculations in 2, 3 and N dimensional space.

hypersphere, a C 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 C 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 C code which computes properties of a given tetrahedron.

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

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

TRIANGLES, a dataset directory which contains examples of triangles;

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