POLYGON_PROPERTIES
Compute Properties of an Arbitrary Polygon


POLYGON_PROPERTIES is a C++ library 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.

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 FORTRAN77 version and a FORTRAN90 version and a MATLAB 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 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 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_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:

  1. Gerard Bashein, Paul Detmer,
    Centroid of a Polygon,
    in Graphics Gems IV,
    edited by Paul Heckbert,
    AP Professional, 1994,
    ISBN: 0123361559,
    LC: T385.G6974.
  2. SF Bockman,
    Generalizing the Formula for Areas of Polygons to Moments,
    American Mathematical Society Monthly,
    Volume 96, Number 2, February 1989, pages 131-132.
  3. Adrian Bowyer, John Woodwark,
    A Programmer's Geometry,
    Butterworths, 1983,
    ISBN: 0408012420.
  4. 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.
  5. Moshe Shimrat,
    Algorithm 112: Position of Point Relative to Polygon,
    Communications of the ACM,
    Volume 5, Number 8, August 1962, page 434.
  6. 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:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 09 May 2014.