是否有一种方法可以识别模型中的节点是否有漏洞?
例如,我们想知道墙上是否有窗户,或者其他的开口,有多少这样的开口,以及它们的位置。
我试着在节点的多边形上迭代,取它们的质心和法线,并试图找出不连续点,但这并没有给出高可信度的结果。
除了边缘的直线外,还试图计算直线,但有时一条直线出现在墙的中间。
还有别的办法吗?也许在Three.js中有一个内置的函数来计算网格的边缘?
发布于 2017-04-25 15:29:52
可能有非常简单的方法来计算边等,但我担心它们不会有很大帮助,除非你有非常简单的几何,没有例外的情况。
对于一个更普遍的解决方案,我认为你最好的选择是利用多边形的顶点、边、法线等从你的多边形生成一个实体模型,以及一些能够与固体一起分析拓扑结构的三维几何图形库。
这里是搜索“js3dboole”时出现的第一个
https://duckduckgo.com/?q=js+3d+boolean
FinalMesh布尔三维库:
http://finalmesh.com/boolean3d.htm
这个人说,它可以处理带有孔的多边形,并对它们进行优化,包括移除洞、移除额外的点和从三角形生成多边形。
给定一个多边形P,你可以去掉它的孔,生成一个无孔多边形Q,然后从q中减去P,得到P中的所有开口。
我相信还有很多其他的东西可以供你评估和比较。
https://stackoverflow.com/questions/43605590
复制相似问题