【问题标题】:Delaunay triangulation from convex hull凸包的 Delaunay 三角剖分
【发布时间】:2012-03-23 08:21:22
【问题描述】:

我需要编写一些关于计算几何的代码并使用 openMP 将它们并行化。到目前为止,我已经完成了凸包和最近的一对点。我需要编写 delaunay 三角剖分和征服代码。但是我没有太多时间。我在某处读到,如果可以计算凸包,则可以轻松实现delaunay三角剖分。因此,如果有人可以向我提供DT的串行代码或至少让我知道如何从凸包生成delaunay三角剖分,我可以编写代码并尽快并行化。

【问题讨论】:

    标签: computational-geometry triangulation delaunay


    【解决方案1】:

    我在某处读到,如果可以计算凸包,则可以轻松实现 delaunay 三角剖分。

    这是真的,但准确的说法是,如果 3D 凸包 实现可用,则可以轻松构造 2D Delaunay 三角剖分。了解 2D 船体对构建 Delaunay 三角剖分 (DT) 并没有太大帮助,除了给您一些 DT 的边(每个船体边都是 DT 的边)。

    假设你还没有实现 3D 船体(这很棘手),那么你需要攻击 Delaunay 三角剖分。

    【讨论】:

    • 是的,我现在明白了。感谢您清理问题。您能否参考一些链接,我可以在其中找到 de wall 算法的 2d 实现。再次感谢
    • 我正在寻找的是一个简单的分治算法来实现 delaunay 三角剖分。它不一定要高效(比如在 de wall 的情况下使用哈希列表和统一网格),它只是有非常简单。我主要关心的是有效地并行化它。是否可以通过使用堆栈/队列而不是哈希列表并且也没有统一网格来实现 de wall 算法?
    • @haxor:对不起,我不熟悉那个特定的算法。我熟悉并且确实已经为船体实现了直接的分而治之。这很容易。您只需要在两个水平分开的船体之间找到一个公共上切线,其余的就很容易了。
    • 好吧,船体不是问题。delaunay 三角剖分是。你能建议我在哪里可以找到一个简单的分治算法来实现 delaunay 三角剖分的好解释。
    • 参见 Aicholzer 等人的“重新审视 Voronoi 图的分而治之”。 link here.
    【解决方案2】:

    QHull 几乎是许多人使用的标准库:http://www.qhull.org/html/qhull.htm 如果您真的想重新实现它,也许您可​​以将其用作参考实现。

    【讨论】:

    • 嘿,谢谢你的回答,但我更喜欢 Qhull 以外的东西。我对 DeWall 算法感兴趣。任何关于此的想法
    • @haxor 我不知道,但谷歌揭示了这种 DeWall 的实现:vcg.isti.cnr.it/activities/geometryegraphics/dewall.html,您可以下载并查看源代码。
    猜你喜欢
    • 2015-01-07
    • 2019-04-18
    • 2021-05-14
    • 2013-05-12
    • 1970-01-01
    • 2019-09-28
    • 2016-02-08
    • 2014-01-21
    • 2011-11-10
    相关资源
    最近更新 更多