R: Circular Window

disc {spatstat} | R Documentation

## Circular Window

### Description

Creates a circular window

### Usage

     disc(radius=1, centre=c(0,0), ..., mask=FALSE, npoly=128, delta=NULL)

### Arguments

`radius` | Radius of the circle.
`centre` | The centre of the circle.
`mask` | Logical flag controlling the type of approximation to a perfect circle. See Details.
`npoly` | Number of edges of the polygonal approximation, if `mask=FALSE`. Incompatible with `delta`.
`delta` | Tolerance of polygonal approximation: the length of arc that will be replaced by one edge of the polygon. Incompatible with `npoly`.
`...` | Arguments passed to `as.mask` determining the pixel resolution, if `mask=TRUE`.

### Details

This command creates a window object representing a disc, with the given radius and centre.

By default, the circle is approximated by a polygon with `npoly` edges.

If `mask=TRUE`, then the disc is approximated by a binary pixel mask. The resolution of the mask is controlled by the arguments `...` which are passed to `as.mask`.

The argument `radius` must be a single positive number. The argument `centre` specifies the disc centre: it can be either a numeric vector of length 2 giving the coordinates, or a `list(x,y)` giving the coordinates of exactly one point, or a point pattern (object of class `"ppp"`) containing exactly one point.

### Value

An object of class `"owin"` (see `owin.object`) specifying a window.

### Note

This function can also be used to generate regular polygons, by setting `npoly` to a small integer value. For example `npoly=5` generates a pentagon and `npoly=13` a triskaidecagon.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

and Rolf Turner r.turner@auckland.ac.nz

### See Also

`ellipse`, `discs`, `owin.object`, `owin`, `as.mask`

### Examples

     # unit disc
     W <- disc()
     # disc of radius 3 centred at x=10, y=5
     W <- disc(3, c(10,5))
     #
     plot(disc())
     plot(disc(mask=TRUE))
     # nice smooth circle
     plot(disc(npoly=256))
     # how to control the resolution of the mask
     plot(disc(mask=TRUE, dimyx=256))
     # check accuracy of approximation
     area(disc())/pi
     area(disc(mask=TRUE))/pi

[Package spatstat version 1.63-3 Index]