title: Given edges and vertices, how to separate these into connected components?
body: <p>Given edges and vertices, how can we separate these into connected components? A situation where I need this is when I extract vertices and edges by using an algorithm like the marching cube method, I want to then obtain multiple connected polyhedra.</p>
  <p>For example, say, there are two not-connected spheres and we have signed distance function f for these spheres. Marching cube algorithm can compute vertices <code>V</code> where <code>f(v)=0 forall v in V</code>. However, what I want to obtain is not the whole vertices <code>V</code>, but the two different set of vertices <code>V1</code> and <code>V2</code> which corresponds to each sphere of the two. (Here, the union of <code>V1</code> and <code>V2</code> is <code>V</code>.)</p>
  <p>It seems easy to implement this in a naive way, but if there are some well-known algorithms for that, I wanna know this.</p>