【问题标题】:Find maximum area polygon inscribed in larger polygon找到内接在较大多边形中的最大面积多边形
【发布时间】:2013-06-25 22:32:26
【问题描述】:

我想找到一个多边形的旋转和位置,以在更大的多边形内拟合的约束范围内最大化它的放大倍数。

目前的想法是使用scipy optimization routines 优化位置和旋转参数以最大化缩放参数,并使用shapely 添加包含多边形的约束。这似乎会很慢而且不是特别优雅。

其他想法?

【问题讨论】:

  • 这些是简单的多边形吗?边数有限制吗?
  • 是的,只是多边形。其中一些可能有大约 100 条边。
  • 我正在尝试解决类似的问题 - 你能告诉我你在 scipy 中使用了什么例程吗?

标签: python geometry polygon


【解决方案1】:

这个问题听起来可能是 NP-Hard。给定一个候选解决方案,您无法确定它是否是最佳解决方案。您似乎需要尝试使用某种增量随机搜索。

【讨论】:

    【解决方案2】:

    如果内部多边形被最大缩放,那么至少有4对“内部顶点-外部边缘”或“外部顶点-内部边缘”顶点在边缘上。

    让我们取所有 4 的顶点-边对。对于每一个,我们得到两个参考点坐标的线性方程组。如果它有一个解决方案,我们会验证没有交叉点,如果可以,我们会记住内部多边形的坐标和大小。

    这是一个精确的解决方案,但速度很慢。另一方面,scipy 优化例程可能会找到一个局部最大值,而不是全局最大值。

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 2023-04-11
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多