TOMS112
Point in Polygon


TOMS112, a C++ library which determines whether a point is inside a polygon.

The text of many ACM TOMS algorithms is available online through ACM: http://calgo.acm.org/ or NETLIB: http://www.netlib.org/toms/index.html.

Licensing:

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

Languages:

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

Related Software and Data:

GEOMETRY, a C++7 library which performs geometric calculations in 2, 3 and N dimensional space.

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, 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.

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.

toms112_test

Reference:

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

Source Code:


Last revised on 01 May 2020.