从三角形网格中查找面

时间:2014-10-27 17:13:39

标签: c++ algorithm geometry

我有这样的结构。

struct triangle {
    point a, b, c; // three dimensional point (x, y, z)
}
vector<triangle> triangles

我需要编写一个算法来从这个三角形网格中获取唯一的面。

我试图找到有关此信息的信息,但所有信息都是这种方法:http://openframeworks.cc/documentation/3d/ofMesh.html#show_getUniqueFaces

不幸的是,我无法在我的程序中添加任何框架。 我的几何形状有点差,所以如果有人给我一些提示,我会很高兴。

1 个答案:

答案 0 :(得分:1)

制作一个图表,其中节点是三角形。如果两个三角形共享两个顶点并且它们的法向矢量小于A度(点(u,v)> cos(A)),则它们之间具有边缘。在图表中查找已连接的组件。每个连接的组件对应于一组形成网格面的三角形。

A越接近0,网格“面”的定义越平滑。