0

我正在使用 CGAL 的 AABB 树为我的项目执行点位置查询。我有一个 3D 笛卡尔网格和一个浸入网格内的表面。我需要找出网格的哪些元素在外部/内部/被表面切割。为此,我投射了一条射线并找到单元格每个角落的交叉点数量,并检查它们是在内部还是外部。

只要网格的角与表面上的节点不重合,这就会很好地工作。但是,当单元格的角点与表面上的节点重合时,我会得到垃圾结果。CGAL的错误结果中显示了一种这样的情况。

我尝试使用Simple_cartesian<double>Exact_predicates_inexact_constructions_kernel但情况并没有改善。

CGAL 似乎对浮点运算如此敏感。

如何解决这个问题?

4

1 回答 1

1

如果没有看到您编写的代码,很难说问题出在哪里。然而,这门课Side_of_triangle_mesh似乎正是你所需要的。

于 2017-07-24T07:41:13.743 回答