【问题标题】:Finding the Inner Convex Hull of a set of points (2D)找到一组点的内凸包(2D)
【发布时间】:2021-10-23 14:49:27
【问题描述】:

我们大多数人都熟悉凸包问题,

我正在尝试解决一个类似/相关的问题:内部(外接)凸包,这基本上意味着找到最大的多边形以适合一组点。

在Example of the problem 你可以看到我想要的。给定一组点(蓝点),我想在这组点中找到最大的凸多边形,该凸多边形也包含给定的任意点(红点)。结果应该类似于this。

我设法解决了这个问题,方法是在我的原始数据集中对transform it inside-out 应用转换,应用convex-hull algorithm,然后对结果应用反转换以检索内部凸包。只要我的孔表现良好(即凸面和小偏心),这项工作就可以。如果我将它应用到一个非凸孔,它会给我非常weird results。

我正在寻找可以帮助我解决这个问题的任何文献。

【问题讨论】:

  • 我投票结束这个问题,因为它与编程无关
  • 对不起,这不是关于编程的吗?这个凸包问题是一个经典的编程问题,只不过是这个问题的一个变体。
  • 您遇到问题的代码在哪里?你试过什么?你能给我们一个最低限度的可验证的完整例子吗?此外,除了作为解决方案的证明之外,您不应该要求外部照明/参考/工具
  • @Antonio Ribeiro - 你如何定义 在一组点内?
  • 蓝色的大方块是您代码中存在 BUG 的明确标志。

标签: computational-geometry convex


【解决方案1】:

很容易证明反演方法是错误的。延长两条边定义的三角形不是空的,因此可以扩大凸多边形。

也许在这里:Finding largest subset of points forming a convex polygon。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-25
    • 2015-05-24
    • 2011-06-21
    • 2021-08-22
    • 2016-12-21
    • 2017-07-04
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多