POLYGON_PROPERTIES
Compute Properties of an Arbitrary Polygon
POLYGON_PROPERTIES,
a C++ code which
computes properties of an arbitrary polygon in the plane, defined
by a sequence of vertices, including

angles;

area;

centroid;

containment of a point;

diameter;

expand polygon outward by H;

inradius of regular polygon to area, outradius side length;

integral over polygon of 1, x, x^2, xy, y, y^2;

is polygon convex?;

lattice area;

outradius of regular polygon to area, inradius, side length;

perimeter;

point to polygon distance;

point to nearest point on polygon;

sampling uniformly;

side length of regular polygon to area, inradius, outradius;

triangulation (decomposition into N3 triangles).
Licensing:
The computer code and data files made available on this
web page are distributed under
the GNU LGPL license.
Languages:
POLYGON_PROPERTIES is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.
Related Data and Programs:
GEOMETRY,
a C++ library which
performs geometric calculations in 2, 3 and N dimensional space.
HYPERSPHERE_PROPERTIES,
a C++ library which
carries out various operations for an Mdimensional 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 C++ library which
returns the exact value of the integral of any monomial
over the interior of a polygon in 2D.
POLYGON_MONTE_CARLO,
a C++ library which
applies a Monte Carlo method to estimate the integral of a function
over the interior of a polygon in 2D.
polygon_properties_test
POLYGON_TRIANGULATE,
a C++ library which
triangulates a possibly nonconvex polygon,
and which can use gnuplot to display the external edges and
internal diagonals of the triangulation.
TETRAHEDRON_PROPERTIES,
a C++ program which
computes properties of a given tetrahedron.
TRIANGLE_PROPERTIES,
a C++ program which
computes properties of a triangle whose vertex coordinates
are read from a file.
Reference:

Gerard Bashein, Paul Detmer,
Centroid of a Polygon,
in Graphics Gems IV,
edited by Paul Heckbert,
AP Professional, 1994,
ISBN: 0123361559,
LC: T385.G6974.

SF Bockman,
Generalizing the Formula for Areas of Polygons to Moments,
American Mathematical Society Monthly,
Volume 96, Number 2, February 1989, pages 131132.

Adrian Bowyer, John Woodwark,
A Programmer's Geometry,
Butterworths, 1983,
ISBN: 0408012420.

Peter Schorn, Frederick Fisher,
Testing the Convexity of a Polygon,
in Graphics Gems IV,
edited by Paul Heckbert,
AP Professional, 1994,
ISBN: 0123361559,
LC: T385.G6974.

Moshe Shimrat,
Algorithm 112:
Position of Point Relative to Polygon,
Communications of the ACM,
Volume 5, Number 8, August 1962, page 434.

Allen VanGelder,
Efficient Computation of Polygon Area and Polyhedron Volume,
in Graphics Gems V,
edited by Alan Paeth,
AP Professional, 1995,
ISBN: 0125434553,
LC: T385.G6975.
Source Code:
Last revised on 31 March 2020.