Algorithm 如何有效地确定三维空间中多边形的法线?
我有一堆共面点定义了三维空间中的多边形。它们总是以相同的方式缠绕(例如顺时针)。我需要确定包含该多边形的平面的有符号法线,即,知道该多边形的“向上”方向 一开始这似乎很简单:取两条边(顶点差)并计算叉积。但如果边恰好是共线的(得到的是零级叉积),则该方法将失败 然后我试着遍历顶点列表,直到找到第二条边,它与第一条边形成一个相当大的角度。这在凸多边形上工作可靠,但在非凸多边形上可能会失败(指向相反的方向),如果我最后使用的两条边没有定义多边形内部的三角形 我知道如果我先对多边形进行三角剖分,那么我可以轻松可靠地检查任何三角形的面。。。但问题是我的三角测量库需要知道平面法线。所以,鸡蛋必须先于鸡Algorithm 如何有效地确定三维空间中多边形的法线?,algorithm,polygon,computational-geometry,geometry-surface,Algorithm,Polygon,Computational Geometry,Geometry Surface,我有一堆共面点定义了三维空间中的多边形。它们总是以相同的方式缠绕(例如顺时针)。我需要确定包含该多边形的平面的有符号法线,即,知道该多边形的“向上”方向 一开始这似乎很简单:取两条边(顶点差)并计算叉积。但如果边恰好是共线的(得到的是零级叉积),则该方法将失败 然后我试着遍历顶点列表,直到找到第二条边,它与第一条边形成一个相当大的角度。这在凸多边形上工作可靠,但在非凸多边形上可能会失败(指向相反的方向),如果我最后使用的两条边没有定义多边形内部的三角形 我知道如果我先对多边形进行三角剖分,那么我
如何在非凸多边形中拾取两条边(或三个顶点),以可靠地定义多边形朝向哪个方向?如果我是你,我会按以下方式进行操作:
一个稳健的解决方案是找到所有i,j,(i