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, counter clockwise ordering, diameter, distance to a point, inradius, lattice area, nearest point in set, outradius, uniform sampling, and triangulation.
The information on this web page is distributed under the MIT license.
polygon is available in a C version and a C++ version and a Fortran77 version and a Fortran90 version and a MATLAB version and an Octave 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_integrals, a Fortran90 code which returns the exact value of the integral of any monomial over the interior of a polygon in 2D.
polygon_monte_carlo, a Fortran90 code which applies a Monte Carlo method to estimate the integral of a function over the interior of a polygon in 2D.
polygon_triangulate, a Fortran90 code which triangulates a possibly nonconvex polygon, and which can use gnuplot to display the external edges and internal diagonals of the triangulation.
tetrahedron, a Fortran90 code which computes properties of a given tetrahedron.
triangle, a Fortran90 code which computes properties of a triangle.