inpolygon

From pracma v1.9.9 by HwB
0th

Percentile

Polygon Region

Points inside polygon region.

Keywords
geom
Usage
inpolygon(x, y, xp, yp, boundary = FALSE)
Arguments
x, y
x-, y-coordinates of points to be tested for being inside the polygon region.
xp, yp
coordinates of the vertices specifying the polygon.
boundary
Logical; does the boundary belong to the interior.
Details

For a polygon defined by points (xp, yp), determine if the points (x, y) are inside or outside the polygon. The boundary can be included or excluded (default) for the interior.

Value

Logical vector, the same length as x.

Note

Special care taken for points on the boundary.

References

Hormann, K., and A. Agathos (2001). The Point in Polygon Problem for Arbitrary Polygons. Computational Geometry, Vol. 20, No. 3, pp. 131--144.

See Also

polygon

Aliases
  • inpolygon
Examples
xp <- c(0.5, 0.75, 0.75, 0.5, 0.5)
yp <- c(0.5, 0.5, 0.75, 0.75, 0.5)
x <- c(0.6, 0.75, 0.6, 0.5)
y <- c(0.5, 0.6, 0.75, 0.6)
inpolygon(x, y, xp, yp, boundary = FALSE)  # FALSE
inpolygon(x, y, xp, yp, boundary = TRUE)   # TRUE

## Not run: 
# pg <- matrix(c(0.15, 0.75, 0.25, 0.45, 0.70,
#                0.80, 0.35, 0.55, 0.20, 0.90), 5, 2)
# plot(c(0, 1), c(0, 1), type="n")
# polygon(pg[,1], pg[,2])
# P <- matrix(runif(20000), 10000, 2)
# R <- inpolygon(P[, 1], P[, 2], pg[, 1], pg[,2])
# clrs <- ifelse(R, "red", "blue")
# points(P[, 1], P[, 2], pch = ".", col = clrs)## End(Not run)
Documentation reproduced from package pracma, version 1.9.9, License: GPL (>= 3)

Community examples

Looks like there are no examples yet.