Geometry functions for irregular polygons.
PolygonArea(x, y = NULL, positive = TRUE)
PolygonCentre(x, y = NULL)
PolygonCenter(x, y = NULL)
GrowPolygon(x, y = NULL, buffer = 0)
Vectors containing the coordinates of the vertices of the polygon.
If vertices are specified in an anticlockwise direction,
the polygon will be treated as a hole, with a negative area, unless
positive
is set to TRUE.
Vertices specified in a clockwise sequence always yield a positive area.
Numeric specifying distance by which to grow polygon.
PolygonArea()
returns the area of the specified polygon.
PolygonCentre()
returns a single-row matrix containing the
x and y coordinates of the geometric centre of the polygon.
GrowPolygon()
returns coordinates of the vertices of polygon
after moving each vertex buffer
away from the polygon's centre.
PolygonArea()
: Calculate the area of an irregular polygon
PolygonCentre()
: Locate the centre of a polygon
GrowPolygon()
: Enlarge a polygon in all directions
Other tiling functions:
TriangleCentres()
,
TriangleInHull()
x <- c(-3, -1, 6, 3, -4)
y <- c(-2, 4, 1, 10, 9)
plot(x, y, frame.plot = FALSE)
polygon(x, y)
PolygonArea(x, y)
#> [1] 60
points(PolygonCentre(x, y), pch = 3, cex = 2)
polygon(GrowPolygon(x, y, 1), border = "darkgreen",
xpd = NA # Allow drawing beyond plot border
)
# Negative values shrink the polygon
polygon(GrowPolygon(x, y, -1), border = "red")