3D三角形和AABB的交叉区域

时间:2017-10-14 16:06:56

标签: java algorithm math 3d aabb

我希望找到三角形和AABB之间交点的实际表面积。目前,我正在使用Tomas Akenine-Möller的AABB-Triangle交叉测试,该测试工作得很好 - 但我还需要更多信息来提高我正在开发的实时三角到体素引擎的渲染质量。

这个的基本应用将使我能够确定原始模型中的哪个三角形占用给定体素中的最大空间。这允许我将从模型创建的结果体素与原始三角形ID相关联,不仅颜色准确性,而且持久性。

Sofar我想到的方法是取三角形和AABB的所有交点,将它们成对分组。一旦你拥有了所有的对,你就可以很容易地找到与实际位于AABB之外的那对相关联的第三个点。然后简单地取3个向量的集合并用它们构造三角形。取整个原始三角形的面积,然后减去构造三角形的面积。如果三角形“主要位于AABB内部”,则构建AABB内部的三角形并将它们添加到一起,忽略整个区域。如果三角形在与AABB相交时形成非三角形,我不知道该怎么做。以下是我提出的一些案例(可能还有更多)作为2D表示: image

我真的怀疑我的想法在这里的可行性,所以我愿意接受任何建议。如果有人可能有一个更好的解决方案,考虑到我不需要实际区域的特定问题,请告诉我。

感谢。

0 个答案:

没有答案