# inpolygon: Polygon Region In pracma: Practical Numerical Math Functions

## Description

Points inside polygon region.

## Usage

 `1` ```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`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```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) ```

### Example output

```[1] FALSE FALSE FALSE FALSE
[1] TRUE TRUE TRUE TRUE
```

pracma documentation built on Dec. 11, 2021, 9:57 a.m.