Polygon Region
Points inside polygon region.
inpolygon(x, y, xp, yp, boundary = FALSE)
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. |
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.
Logical vector, the same length as x
.
Special care taken for points on the boundary.
Hormann, K., and A. Agathos (2001). The Point in Polygon Problem for Arbitrary Polygons. Computational Geometry, Vol. 20, No. 3, pp. 131–144.
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.