如何确定凸/凹六面体的方向?

计算科学 有限元 计算几何 有限体积 六面体
2021-12-09 14:22:24

我正在编写一个代码,用于检查描述凸六面体和凹六面体的顶点列表(以及面连通性)的方向。面连接表存储构成每个面的顶点索引列表,如本文档第 27 页所述。如果所有面的方向(顺时针或逆时针方向)使得面法线指向外侧,我将六面体标记为正方向。面法线的方向可以通过在面的平面上应用右手定则来确定:四指卷曲在面顶点方向的方向上,拇指指向面法线的方向。

我还以与链接文档中相同的顺序存储顶点列表。但是,我遇到的问题是我的代码中有某些几何操作(例如关于平面的反射)会翻转给定六面体的方向。我目前能够通过计算质心并确保面法线相对于它向外指向来可靠地检查凸六边形的方向。然而,在凹六边形的情况下,这不是一个稳健的过程,因为 - (i) 质心可能位于六边形之外,或 (ii) 面的内侧可能对质心不“可见”。

任何人都可以建议一个强大的程序来检查任意六面体的方向吗?任何建议将不胜感激。

0个回答
没有发现任何回复~