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

### 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