2012-10-25 55 views
1

我想將頂點和邊的現有數據分成兩個或多個未連接的圖。我想給以下作爲示例:基於連通性和座標分離兩張圖

試想在彼此的頂部的兩個六邊形但位於不同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的這部分作爲所有頂點連接在這一層。六邊形2具有以下頂點A1(0,0,6),B1(1,0,7),C1(2,1,7),D1(1,2,8),E1(0,2),D1(1,2,8) ,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.

回答

2

您所描述的問題與connected components有關。

Python Networkx模塊具有處理這類圖問題的功能。您正在尋找返回所有組件的connected_components函數,然後您可以選擇合適的一個(可能按頂點數量)。