Create any (regular) polygon geometry (of class geom) either by
specifying anchor values or by sketching it.
gs_polygon( anchor = NULL, window = NULL, features = 1, vertices = 3, regular = FALSE, ... ) gs_triangle(anchor = NULL, window = NULL, features = 1, ...) gs_square(anchor = NULL, window = NULL, features = 1, ...) gs_rectangle(anchor = NULL, window = NULL, features = 1, ...) gs_hexagon(anchor = NULL, window = NULL, features = 1, ...)
| anchor | [ |
|---|---|
| window | [ |
| features | [ |
| vertices | [ |
| regular | [ |
| ... | [various] |
A geom.
The argument anchor indicates how the geom is created:
if anchor is set, the geom is created parametrically
from the points given in anchor,
if it is not set either
window or a default window between 0 and 1 is opened to sketch the
geom.
The argument regular determines how the vertices provided in
anchor or via template are transformed into a polygon:
if regular = FALSE the resulting polygon is created
from all vertices in anchor,
if regular = TRUE, only
the first two vertices are considered, as center and indicating the
distance to the (outer) radius.
gs_triangle: wrapper of gs_polygon where vertices = 3 and
regular = TRUE.
gs_square: wrapper of gs_polygon where vertices = 4 and
regular = TRUE.
gs_rectangle: wrapper of gs_polygon where vertices = 2,
regular = FALSE and the two complementing corners are derived from
the two given opposing corners.
gs_hexagon: wrapper of gs_polygon where vertices = 6 and
regular = TRUE.
# 1. create a polygon programmatically coords <- data.frame(x = c(0, 40, 40, 0), y = c(0, 0, 40, 40)) # if no window is set, the bounding box will be set as window aGeom <- gs_polygon(anchor = coords) visualise(aGeom)# derive a regular polygon from the coordinates aPolygon <- gs_polygon(anchor = coords, vertices = 6, regular = TRUE) visualise(aPolygon, linecol = "green") visualise(aGeom, new = FALSE)
# the vertices are plottet relative to the window window <- data.frame(x = c(-50, 50), y = c(-50, 50)) aPolygon <- setWindow(x = aPolygon, to = window) visualise(aPolygon, fillcol = "deeppink") # using a geom as anchor retains its properties (such as the window) aRectangle <- gs_rectangle(anchor = aPolygon) visualise(aRectangle, new = FALSE)
# 2. sketch a hexagon if(dev.interactive()){ aHexagon <- gs_hexagon(features = 1) visualise(aHexagon, linecol = "deeppink", linetype = 2, new = FALSE) }