给定一组3D多边形形成可能是凹形的闭合形状,我需要确定哪些多边形形成了形状的外皮。答案可能与找到形状的凹形船体(α形状)有关,在这种情况下请详细说明,但如果存在其他方法,请提及它们。请注意,我不一定要计算alpha形状;我正在使用它然后将现有的多边形分类为内部和外部多边形。
对于2D中的示例,在Sketchup中,当您绘制凹多边形并使用略大于形状的边界框包围它时,可以将形状和边界框之间的区域拉成3D形状。要做到这一点,Sketchup必须确定凹多边形的哪个边是"朝外",意味着可以从边界框到达。想到的一个解决方案是种子填充"在油漆桶工具中使用的算法,我可以在3维中使用它来找到3D形状的最外面。但如果使用其他算法,我想知道它是什么。
另外,这是在scala / java中完成的,所以如果有可以提供帮助的库,请提及它们。