【问题标题】:Query triangle in which a point lies in CGAL 2D查询点位于 CGAL 2D 中的三角形
【发布时间】:2021-02-06 20:05:28
【问题描述】:

我正在使用所有三角形的 2D 网格,使用 CGAL 表示为 CGAL::Surface_mesh<K::Point_2>。给定一组二维点,我想找出每个点在哪个三角形中。

我试过CGAL::AABB_tree,但显然CGAL::AABB_traits 是为3D 查询而设计的。我想我可以使用 z = 0 的 3D 网格,但在这种情况下,我担心 AABB 可能不正确,因为边界框在 z 方向上的长度为 0。

执行此 2D 查找的最佳方式是什么?

【问题讨论】:

  • 最简单的解决方案确实是把 z=0 因为现在没有 2D AABB-tree。
  • @sloriot 如果边界框的厚度都为零,是否仍然可以实现点查找的对数复杂度?
  • 应该没问题,z方向永远不会被挑出来分割

标签: cgal


【解决方案1】:

您可以使用Location Functions。 您是否考虑过使用 2D 三角剖分和投影特征作为替代方案?看到这个example

【讨论】:

  • 我读到了关于三角剖分的文章,看起来它可能有用,但它说的是凸包,我想知道它是否只支持凸三角剖分。我没有使用它们的经验,所以还是有点害怕使用它们
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-09
  • 2012-09-16
  • 2012-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多