【问题标题】:CGAL triangulation with constraints changes points coords具有约束的 CGAL 三角剖分更改点坐标
【发布时间】:2016-02-25 21:35:13
【问题描述】:

我正在使用 Constrained_triangulation_2 和 Constrained_Delaunay_triangulation_2 对带有约束的点集进行三角剖分。在某些情况下,对于这两种方法,我在一些相邻面中都有负数 (f_it->vertex(0)->info())。检查三角测量结果后,很明显,一些点已经改变了它们的二维坐标(f_it->vertex(0)->point())。 是我的输入数据有问题,还是 CGAL 中存在众所周知的错误?没有这些约束(没有自相交的多边形)它可以正常工作,但在我看来它们是绝对正确的。

【问题讨论】:

    标签: c++ 2d cgal delaunay


    【解决方案1】:

    没有点坐标可以改变。我能看到的唯一可能发生的是您的约束相交并且交点被添加到三角剖分中(并且被误认为是输入点)。当然,只有交集标签不是No_intersection_tag,这才合理。

    【讨论】:

    • 谢谢!由于某些原因,我在我的项目中添加了 mpir 库。现在,当出现自相交时,cgal 三角剖分会崩溃。
    • mpir 不受 CGAL 支持。如果可能,请尝试使用 gmp。
    • 我也在这个项目中使用 cork 库,它链接到 windows 平台下的 mpir 库。在 *nix 下,它默认使用 gmp,但我不知道是否可以在 Visual Studio 下构建 gmp(顺便说一下,它是用 CGAL 安装程序预构建的,但不幸的是,它不需要实现一些功能软木塞)。据我所知,mpir 是 windows 下 gmp 功能的实现。
    猜你喜欢
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2020-05-06
    相关资源
    最近更新 更多