Polygonal Approximation of a Disc/Circle
discpoly(center, radius, npoly = 64,
class = c("Polygon", "owin", "gpc.poly"),
hole = FALSE)center |
numeric vector of length 2 (center coordinates of the circle). |
radius |
single numeric value (radius of the circle). |
npoly |
single integer. Number of edges of the polygonal approximation. |
class |
class of the resulting polygon (partial name
matching applies). For |
hole |
logical. Does the resulting polygon represent a hole? |
A polygon of class class representing a
circle/disc with npoly edges accuracy.
If class="gpc.poly" although this formal class is not
currently defined (and rgeos is not available), only the
pts slot of a "gpc.poly" is returned with a warning.
Sebastian Meyer
This function is inspired by the disc function
from package spatstat.geom.
disc in package spatstat.geom.
## Construct circles with increasing accuracy and of different spatial classes
disc1 <- discpoly(c(0,0), 5, npoly=4, class = "owin")
disc2 <- discpoly(c(0,0), 5, npoly=16, class = "Polygon")
## Look at the results
print(disc1)
plot(disc1, axes=TRUE, main="", border=2)
print(disc2)
lines(disc2, col=3)
if (requireNamespace("rgeos")) { # for the "gpc.poly" class definition
disc3 <- discpoly(c(0,0), 5, npoly=64, class = "gpc.poly")
print(disc3)
plot(disc3, add=TRUE, poly.args=list(border=4))
}
## if one only wants to _draw_ a circle without an object behind
symbols(0, 0, circles=5, inches=FALSE, add=TRUE, fg=5)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.