Librino_N {CirclesIntersections}R Documentation

Implementation of Librino's algorithm for computing circle intersection areas

Description

This function computes the exclusive areas of intersection of N circles.

Usage

Librino_N(centers_x, centers_y, radii)

Arguments

centers_x, centers_y, radii

Numeric vectors of length N with the x, y coordinates of the center, and the radius of the circles.

Details

This is an implementation of Librino, Levorato, and Zorzi (2014) algorithm for computation of the intersection areas of an arbitrary number of circles.

Value

A list of length N containing the areas of exclusive intersection. The position of each element in the list indicates the number of intersecting circles. The first element of the list corresponds to the area of non-overlap of every circle, the second element is the pairwise area of intersection. Up to the last element of the list which corresponds to the area of intersection of all circles. Each of the elements of the list is a named numeric vector corresponding to the area of intersection between a set of circles. The names of the vector indicate the number of the circles in the intersection.

Author(s)

Hugo Salinas hugosal@comunidad.unam.mx.

References

Librino, F., Levorato, M., & Zorzi, M. (2014). An algorithmic solution for computing circle intersection areas and its applications to wireless communications. Wireless Communications and Mobile Computing, 14, 1672–1690.

Examples

# Example of intersection areas including a Reuleaux triangle
x <- c(0, 1, 0.5)
y <- c(0, 0, sqrt(1-0.5**2))
radii <- c(1, 1, 1)
intersections <- Librino_N(centers_x = x, centers_y = y, radii = radii)
intersections
# Example with more circles
x2 <- c(0, 4, 2, 4, 5)
y2 <- c(1, 5, 4, 2, 1)
radii2 <- c(1, 4 ,2, 2, 1)
intersections2 <- Librino_N(centers_x = x2, centers_y = y2, radii = radii2)
intersections2

[Package CirclesIntersections version 1.1 Index]