I am currently working on my masters thesis in computer science and I stumbled onto a geometry problem.
My goal is to compute the length of the longest possible chord inside the intersection area of three circles.
I know the following thing about the circles:
- their radius is r
- Construction: Assume that there is a circle around a point c with size r. Then I choose two random points v1 and v2 inside this circle. These two points are the centers of the other two circles.
This bounds the distance between the centers of the circles:
- length(c,v1) is at most r
- length(c,v2) is at most r
- length(v1,v2) is at most 2r
Note that the points can be the same. So some of this distances can be 0.
Therefore I will break this down into four cases:
Case 1: (all points are the same, c=v1=v2) If all points are the same, the solution is trivial. The longest possible line inside a circle is the diameter.
Case 2: (two points are the same) If two points are the same, I can compute the distance like this: http://mathworld.wolfram.com/Circle-CircleIntersection.html
Case 3: (three different points, but on a straight line) If the three points form a straight line, I can compute the distance like in the 2nd case. I just ignore the point that is located in the middle.
Case 4: (the three points form a triangle) If the 3 centers form a triangle there will be three intersection points A,B and C which will form a triangle, too (correct me if I am wrong).
To make things more clear lets rotate the situation without loss of generality. Rotate the circle such that c is the topmost center.
Let A be the intersection point closest to c. B and C follow in clockwise direction.
Here is the situation:
I tried to compute these values by constructing other triangles but I just can not find any solution. In some special cases I could find the angles of the triangle(A,B,C) but that didn't help me either. Is it even possible? If not is there a way to find an upper bound for the longest chord (which is smaller than the obvious 2r) ?
I wouldn't be so hard to write an approximation program but since I am working on a theoretical proof that does not help me. I hope this question is not too dumb ;) I am not a mathematician.
Thanks in advance, hhllcks