Point in Polygon

TOMS112 is a FORTRAN90 library which determines whether a point is inside a polygon.


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


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 FORTRAN90 library which performs geometric calculations in 2, 3 and N dimensional space.

POLYGON_MONTE_CARLO, a FORTRAN90 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 FORTRAN90 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 FORTRAN90 library which triangulates a possibly nonconvex polygon, and which can use gnuplot to display the external edges and internal diagonals of the triangulation.


  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:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.

Last revised on 07 November 2016.