INTERSECTCIRCLES Intersection points of two circles. POINTS = intersectCircles(CIRCLE1, CIRCLE2) Computes the intersetion point of the two circles CIRCLE1 and CIRCLE1. Both circles are given with format: [XC YC R], with (XC,YC) being the coordinates of the center and R being the radius. POINTS is a 2-by-2 array, containing coordinate of an intersection point on each row. In the case of tangent circles, the intersection is returned twice. It can be simplified by using the 'unique' function. Example % intersection points of two distant circles c1 = [0 0 10]; c2 = [10 0 10]; pts = intersectCircles(c1, c2) pts = 5 -8.6603 5 8.6603 % intersection points of two tangent circles c1 = [0 0 10]; c2 = [20 0 10]; pts = intersectCircles(c1, c2) pts = 10 0 10 0 pts2 = unique(pts, 'rows') pts2 = 10 0 References http://local.wasp.uwa.edu.au/~pbourke/geometry/2circle/ http://mathworld.wolfram.com/Circle-CircleIntersection.html See also circles2d, intersectLineCircle, radicalAxis ------ Author: David Legland e-mail: david.legland@grignon.inra.fr Created: 2011-01-20, using Matlab 7.9.0.529 (R2009b) Copyright 2011 INRA - Cepia Software Platform.
Package: matgeom