3

我在创建轮廓时遇到问题。

我有一个 STL 文件,STL 文件包含许多面,通过将面与切割平面相交(Z=dz,x=y=0),我们在每个增量 Z 处都有一组线。

但是线条不是按顺序排列的。我想对它们进行排序和连接以形成闭合轮廓或连续路径。请帮助我提供解决此问题的程序或代码。

4

1 回答 1

0

您可以使用 Rock 和 Wozny (1) 提出的用于创建轮廓的行进算法来做到这一点。这个想法很简单,你将从一个人脸前进到一个邻居人脸,确定他们共同边缘的交叉点,然后前往下一个邻居。您将重复此操作,直到到达起始面。这样,您将构建封闭的轮廓。对于每个高度标志访问的边缘,以防它有更多的轮廓。

行进算法,来源:(1)

行进算法,来源:(1)

要使算法起作用,您需要具有网格的拓扑信息。每个面必须参考其三个相邻面和三个边。每条边必须参考它的两个顶点和定义该边的两个面 (1)。有关如何从 STL 文件中获取该信息的信息,请参见 (2)。

资料来源:

  • (1) 利用拓扑信息提高扫描向量生成效率;Rock and Wozny(行进算法)

  • (2)从“分面桶”生成拓扑信息;Rock 和 Wozny,1992(如何从 STL 文件创建拓扑)

于 2014-02-13T08:29:41.383 回答