我想将顶点和边的现有数据分成两个或多个未连接的图。我想以下面的例子为例:
想象一下两个六边形在彼此的顶部但是躺在不同的Z.
六边形1具有以下顶点A(0,0,1),B(1,0,2),C(2,1,2),D(1,2,1),E(0,2) ,1),F(-1,2,1)。连通性如下:A-B,B-C,C-D,D-E,E-F,F-A。图1的这部分作为所有顶点连接在该层中。
Hexagon2具有以下顶点A1(0,0,6),B1(1,0,7),C1(2,1,7),D1(1,2,8),E1(0,2, 7),F1(-1,2,6)。连接如下:A1-B1,B1-C1,C1-D1,D1-E1,E1-F1,F1-A1。这是图2的一部分
我的数据采用以下形式:顶点列表和可以与之形成图形的边缘列表。我想消除图2并仅给出图1的顶点和连通性到我的算法的多边形确定部分。我的实际数据包含大约1000个连接的多边形作为图1,大约100个(面积大得多)多边形作为图2.我想消除图2。
答案 0 :(得分:2)
您所描述的问题与connected components有关。
Python Networkx模块具有处理此类图形问题的功能。您正在寻找返回所有组件的connected_components函数,然后您可以选择合适的组件(可能是顶点数)。