Given: Given a set of N points in the 2D plane (x and y coordinates), and a set of N radii corresponding to each point. We will refer to a point\'s disc as the
The brute force solution is only O(N2), so it should work for you.
1) Start with all of the points in the unassigned group.
2) Pick one point and look at all the others in the unassigned group and see whether the meet the radii criterion you describe.
3) At the end you will have grouped the points by your criteria, and will have done no more than N*(N/2) inspections.
Btw, what you describe is not what's normally meant by "clustering", so I think that's throwing people off here. What makes clustering a difficult problem is that the question of whether two neighboring points will be assigned to the same cluster is determined by all the other points in the data set. In your case, it's (basically) only determined by properties of the two points, so that in your case, you can just check them all.