Determine the set of tangents to a pair of circles that do not intersect other circles or pass between circles

Share:

Description

Determine the points of tangency for lines tangent to a pair of circles. Keep only tangents that do not intersect other circles or pass between circles

Usage

1
findExteriorTangents(center, r, i, j, rrange = c(-1, 1), krange = c(1, -1))

Arguments

center

a two-column numeric matrix of xy coordinates for center points for the set of circles

r

a numeric vector of the radii of the circles

i

a numeric pointer to a row in the matrix of xy coordinates for the centers. This points to the first circle of the pair

j

a numeric pointer to a row in the matrix of xy coordinates for the centers. This points to the second circle of the pair

rrange

a numeric value or two item numeric vector defining the tangents to be computed. Values are -1, 1, or c(1,-1). -1 returns the tangents that cross between the circles. 1 returns those that do not cross between the circles

krange

a numeric value or two item numeric vector defining the tangents to be computed. Values are -1, 1, or c(1,-1).

Value

a matrix with pairs of rows containing the starting and ending tangent points for line segments. Rows are identified by the circle on which they are located and the circle on which the other end point lies.

Author(s)

Elliot Noma

References

http://en.wikipedia.org/wiki/Belt_problem