我有一个程序,它接受一个网格和一个平面,并将三维网格投影到平面。然而,只有当三维网格不是根据给定的平面“折叠”时,程序才能很好地工作。
这里所说的“折叠”是指在三维网格项目中至少有两个三维面/边在目标平面上形成两个相交或重叠的二维面/边。
这里是一个三维网格的图片,以供说明。

例如,在图片中,如果我给出与XY (水平)平面描绘的三维网格作为输入,程序运行良好。但是,如果上面的三维网格是用XZ或YZ (两个垂直的)平面给出的,我想要生成一个异常。如何通过算法检测到三维网格在给定投影平面时是“折叠”的?
发布于 2018-10-20 16:15:42
如果表面法线在某个方向上的方向一致,如果没有“折叠”,则投影面将具有一致的法线方向。在输入网格方向良好的情况下,只需检查do结果面法线都指向一个平面边。如果没有,则通过选择一个起始面并扩展它的方向,而不是第一个定向面。
https://stackoverflow.com/questions/52405959
复制相似问题