考虑两个图,G1=(V1,E1),G2=(V2,E2)
V1 = {1,2,3,4,5,6}
V2 = {7,8,9,10,11,12}
在空间中,这些顶点由三角形面连接(每个面有三个顶点)
F1 = [[ 2, 1, 0], [ 0, 3, 2], [ 1, 4, 0], [ 0, 4, 3], [ 5, 1, 2], [ 3, 5, 2], [ 5, 4, 1], [ 4, 5, 3]]
F2 = [[ 8, 7, 6], [ 6, 9, 8], [ 7, 10, 6], [ 6, 10, 9], [11, 7, 8], [ 9, 11, 8], [11, 10, 7], [10, 11, 9]]
以上就是我想要找到的。如果给我们整个面阵列:
faces = [[ 2, 1, 0], [ 0, 3, 2], [ 1, 4, 0], [ 0, 4, 3], [ 5, 1, 2], [ 3, 5, 2],
[ 5, 4, 1], [ 4, 5, 3], [ 8, 7, 6], [ 6, 9, 8], [ 7, 10, 6], [ 6, 10, 9],
[11, 7, 8], [ 9, 11, 8], [11, 10, 7], [10, 11, 9]]
我们能否找到连接的组件,并将其分为F1
和F2
两部分
这个问题的一个版本已经在Mathematica中出现了,但我无法翻译
我的作品在这个post中找到
从您的面生成图形非常简单:每个三元组生成3条边,对应于三元组成员的所有组合。然后只需实例化networkx
Graph
对象并调用networkx.algorithms.components.connected_components
相关问题 更多 >
编程相关推荐