Learn R Programming

smacpod (version 1.3.0)

circles.intersect: Determine whether circles intersection

Description

circles.intersect determines whether circles intersect with each other.

Usage

circles.intersect(coords, r)

Arguments

coords
A matrix of coordinates containined the centroid of each circle.
r
A vector containing the radii of the circles. The have length equal to the number of rows of coords.

Value

  • Returns a matrix of logical values indicating whether the circles intersect.

Details

The algorithm is based on the premise that two circles intersect if, and only if, the distance between their centroids is between the sum and the difference of their radii. I have squared the respective parts of the inequality in the implemented algorithm.

Examples

Run this code
# first two intersect, then next two, last doesn't intersect any other
co = cbind(c(1, 2, 5, 6, 9), c(1, 2, 5, 6, 9))
r = c(1.25, 1.25, 1.25, 1.25, 1.25)
circles.intersect(co, r)
# nested circles
co = matrix(rep(0, 4), nrow = 2)
r = c(1, 1.5)
circles.intersect(co, r)

Run the code above in your browser using DataLab