My question is given a set of 2d polygons how can I find the connected components of polygons according to a criteria based on intersection or proximity of them.
In other words I have a set of polygons. I want to group them into subsets where each polygon has at least one intersection with (one or more) other polygon(s) of the subset and no intersections with any other polygon in a different subset. So if I have S = {A, B, C, D} and A intersects C and C intersects D the resulting partitions are: P1 = {A, C, D} and P2 = {B}.
I don't have any problems with an good approximate solution if its fast and doesn't generate false negatives (i.e. no (potential) intersection is lost).
I don't need to actually calculate the intersections just determine if they intersect.
In my case the polygons are complex but if a known answer only works for concave or simple polygons I would still like to know about it!
I am actually not sure how to phrase this question which may account for my lack of findings of relevant papers.