Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9215081
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T02:07:18+00:00 2026-06-18T02:07:18+00:00

By clusters, I mean groups of linked overlapping circles. This image probably gives a

  • 0

By clusters, I mean groups of linked overlapping circles. This image probably gives a better idea of what I’m trying to find:

enter image description here

In my data, circles are represented by their centerpoint coordinates. I have already done collision detection to produce a list of paired centered points representing the overlaps:

pts = [(-2,2), (-2,2), (0,0), (2,1), (6,2), (7,1)]

overlaps = [
    (pts[0], pts[1]),
    (pts[0], pts[2]),
    (pts[1], pts[2]),
    (pts[2], pts[3]),
    (pts[4], pts[5]),
]

This is the expected result:

expected_clusters = [
    ((-2,2), (-2,2), (0,0), (2,1)),
    ((6,2), (7,1))
]

In practice, the datasets I will be working with will be about this size so I’ll probably never need to scale it up. But that’s not to say I wouldn’t favor a more optimal solution.

I’ve come up with my own naive solution, which I’ll post as an answer. But I’d be interested in seeing other solutions.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T02:07:19+00:00Added an answer on June 18, 2026 at 2:07 am

    What you’re doing isn’t really cluster analysis, it’s connected component analysis. Cluster analysis would be taking a whole bunch of individual points and trying to discover the circles. But it may be of interest to you that the combination of assigning points into initial neighborhoods and clustering based reachability through overlapping neighborhoods is the heart of the DBSCAN idea and its density-based clustering variants.

    In any case, since you’re starting with the circles, once you’ve done the collision detection, what you’re calling your overlaps list is the adjacency list, and what you’re calling the clusters are the connected components. The algorithm is fairly straightforward:

    1. Create a list L of all nodes.
    2. Create an empty list of connected components Cs
    3. While L is not empty:
      1. Pick an arbitrary node N
      2. Create a connected component list C, initialized with N
      3. Do a breadth-first or depth-first traversal using your adjacency list adding each node you encounter to C
      4. Append C to Cs
      5. Remove all nodes in C from L
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a data set with 6 clusters, each containing 48 (possibly censored, in
I'm trying to cluster some data with python and scipy but the following code
I am trying to create a structure diagram from the data like the following:
Hi I'm working on trying to cluster network data from the 1999 darpa data
I am trying to install AppScale on a cluster, and I'm running this command:
In test server it is working. But production gives this traceback: what different? And
Couldn't find anything about this topic. I have a Windows TCP C++ server application
I set up my Hadoop clusters with Hadoop 2.0.2. Then, today I tried to
The cluster managing software for managing clusters on a windows server 2005 cluster had
I have several Oracle Coherence clusters, and on each cluster I have the same

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.