# polygon.adapt {voronoi}

Integral over a convex polygon

### Description

Performs Riemann-type integration of a function over a convex polygon.

### Usage

polygon.adapt(poly, f, divisions=10, antideriv.x=NULL, antideriv.y=NULL, checkPoly=TRUE)

### Arguments

- poly
- A 2-column matrix containing the x-y coordinates of the vertices, ordered as they appear on the convex hull.
- f
- A function taking two numerical arguments that is to be integrated over the specified polygon. This function should return a numerical vector of the same length as the inputs.
- divisions
- A scalar which controls the number of subintervals over which the Riemann sum is computed. Higher values produce more precise integral calculations.
- antideriv.x
- A function taking two arguments that is the antiderivative of
`f`

with respect to x. - antideriv.y
- A function taking two arguments that is the antiderivative of
`f`

with respect to y. - checkPoly
- Whether to check that the polynomial is convex and its points are ordered clockwise or counter-clockwise.

### Details

Specification of one or both of the antiderivatives yields more efficient performance by reducing the dimension in which integration is performed.

### Values

The scalar result of the integration.

### See Also

`integrate.box`

, `centroidal`

### Examples

#=====> Rectangle <=====# pts <- rbind(c(0,2), c(0,4), c(4,4), c(4,2), c(0,2)) plot(pts, type="l") f <- function(x, y) x + y^3 polygon.adapt(poly = pts, f = f) #=====> Random Convex Polygon <=====# pts <- cbind(runif(5), runif(5)) pts <- pts[chull(pts),] plot(pts, type="n") polygon(pts) antideriv.x <- function(x, y) x^2/2 + x*y^3 antideriv.y <- function(x, y) x*y + y^4/4 polygon.adapt(poly = pts, f = f, divisions=100, antideriv.x = antideriv.x, antideriv.y = antideriv.y)

Documentation reproduced from package voronoi, version 1.1. License: GPL-3