3D网格:如何检测表面/网格是否根据投影平面折叠

时间:2018-09-19 12:32:41

标签: math 3d geometry mesh projection

我有一个程序可以接受网格和平面 并将3D网格投影到平面上。 但是,该程序仅在3D网格未“折叠”到给定平面的情况下才能正常运行。

这里的“折叠”是指3D网格上的至少两个3D面/边投影到目标平面上的两个相交或重叠的2D面/边。

这里是3D网格的图片,仅供说明。 enter image description here

例如在图片中,如果我输入以XY(水平)平面描绘的3D网格作为输入,则该程序运行良好。 但是,如果上面的3D网格具有XZ或YZ(两个垂直)平面,我想产生一个例外。 如何在给定投影平面的情况下通过算法检测3D网格是否“折叠”?

1 个答案:

答案 0 :(得分:0)

如果表面法线始终沿某个方向定向,则如果没有“折叠”,则投影面将具有一致的法线方向。如果输入网格的方向正确,只需检查结果面法线都指向一个平面侧即可。如果不是这样,则首先通过选择一个起始面并扩展其方向来定向曲面。