# tilePerim: Calculate tile perimeters. In deldir: Delaunay Triangulation and Dirichlet (Voronoi) Tessellation

## Description

Calculates the perimeters of all of the Dirichlet (Voronoi) tiles in a tessellation of a set of planar points. Also calculates the sum and the mean of these perimeters.

## Usage

 `1` ```tilePerim(object,inclbdry=TRUE) ```

## Arguments

 `object` An object of class `tile.list` (as produced by `tile.list()` specifying the Dirichlet (Voronoi) tiles in a tessellation of a set of planar points. `inclbdry` Logical scalar. Should boundary segments (edges of tiles at least one of whose endpoints lies on the enclosing rectangle `rw` (see `deldir()`) be included in the perimeter?

## Value

A list with components

 `perimeters` A vector consisting of the values of the perimeters of the Dirichlet tiles in the tessellation. `totalPerim` The sum of `perimeters`. `meanPerim` The mean of `perimeters`. `perComps` A list whose entries are vectors consisting of the “components” of the perimeters of each tile. If/when the tiles are clipped, some tiles may be subdivided by the clipping into discontiguous parts. The components referred to above are the perimeters of this parts. If no subdivision has occurred then the vector in question has a single entry equal to the perimeter of the corresponding tile. If subdivision has occurred then the perimeter of the tile is the sum of the perimeters of the components.

## Note

Function added at the request of Haozhe Zhang.

## Author(s)

Rolf Turner r.turner@auckland.ac.nz

`tile.list()`, `plot.tile.list()`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24``` ``` x <- runif(20) y <- runif(20) z <- deldir(x,y,rw=c(0,1,0,1)) w <- tile.list(z) p1 <- tilePerim(w) p0 <- tilePerim(w,inclbdry=FALSE) p1\$totalPerim - p0\$totalPerim # Get 4 = the perimeter of rw. ss <- apply(as.matrix(z\$dirsgs[,1:4]),1, function(x){(x-x)^2 + (x-x)^2}) 2*sum(sqrt(ss)) - p0\$totalPerim # Get 0; in tilePerim() each interior # edge is counted twice. if(require(polyclip)) { CP <- list(x=c(0.49,0.35,0.15,0.20,0.35,0.42, 0.43,0.62,0.46,0.63,0.82,0.79), y=c(0.78,0.86,0.79,0.54,0.58,0.70, 0.51,0.46,0.31,0.20,0.37,0.54)) wc <- tile.list(z,clipp=CP) p2 <- tilePerim(wc) # Doesn't matter here if inclbdry is TRUE or FALSE. p2\$perComps[["pt.6"]] # The tile for point 6 has got subdivided into # two parts, a tetrahedron and a triangle. cul <- rainbow(10)[c(1,7,3:6,2,8:10)] # Rearranging colours to improve # the contrast between contiguous tiles. plot(wc,number=TRUE,fillcol=cul) } ```