问题描述
让我先澄清一下定义。考虑一个规则的四面体由四个顶点组成。假设这些顶点的索引为[0,1,2,3]。然后,构面信息的定义为F = [[0,1,2],[0,2,3],3,1],[1,3]]
。 由三角形组成的多面体会闭合,如果任何三角形小平面都通过边与其他3个三角形相连。例如,规则四面体是封闭的。
然后,在获得方面信息的情况下,如何有效检查由三角形组成的多面体是否闭合?
一个简单的解决方案如下:制作一个描述构面之间无序连接的图形,然后检查是否有任何节点连接到其他3个节点。但是,这种天真的方法对于我的应用来说似乎太慢了。
P.S。我的比较python中边和顶点数量的实现
def isClosed(F): # F is list of indices triplet
S = set()
for triplet in F:
for i,j in [[0,[2,0]]:
a,b = triplet[i],triplet[j]
key = (a,b) if a < b else (b,a)
S.add(key)
return len(F)*3 == len(S)*2
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)