3D表面由具有公共顶点的三角形组成。我想找到外边缘,它可能是凹的。
所有内部三角形都有邻居的公共顶点。也就是说没有顶点在边缘的中途。
没有漏洞。表面没有关闭。
从这里的其他帖子看,最好的方法是建立一个边缘列表,然后丢弃所有重复的边。应该保留的是外线。 This帖子提到按最小,中,最大顺序排序顶点:
// Determine the ordering of vertices.
min_vertex = min(t.v1, t.v2, t.v3);
mid_vertex = median(p.v1, t.v2, t.v3);
max_vertex = max(t.v1, t.v2, t.v3);
据推测,中位数(p.v1应为t.v1,v1格式为每个顶点的x值,y值,z值。
我无法弄清楚如何在数小时后执行此操作,并会感谢任何简单的语言帮助或算法。
计算速度不是一个重要因素。 Excel / vba中的5-10000个三角形