我有创建轮廓的问题。
我有一个STL文件,STL文件包含许多方面,通过将切面与切割平面(Z=dz,x=y=0)
相交,我们在每个增量Z处都有一个行数组。
但是线条没有按顺序排列。我想对它们进行排序和连接以形成闭合轮廓或连续路径。请帮我一个程序或代码来解决这个问题。
答案 0 :(得分:0)
你可以使用Rock和Wozny(1)提出的Marching算法进行轮廓创建。这个想法非常简单,你将从一张脸到另一张脸,在他们的共同边缘确定交叉点并前往下一个邻居。你会重复这个,直到你到达起始面。这样你就可以构建封闭的轮廓。对于每个高度标志访问边缘,以防其上有更多轮廓。
行进算法,来源:(1)
要使算法起作用,您需要获得网格的拓扑信息。每 face必须引用其三个相邻面和三个边。每个边都必须参考 它的两个顶点和两个面定义了边(1)。有关如何从STL文件获取该信息,请参阅(2)。
来源:
(1)利用拓扑信息提高扫描矢量生成效率; Rock和Wozny(行进算法)
(2)从“一小部分”生成拓扑信息; Rock和Wozny,1992(如何从STL文件创建拓扑)