【问题标题】:Algo to find polygon separating two sets of points in 2D space算法在二维空间中找到分隔两组点的多边形
【发布时间】:2013-01-06 09:15:32
【问题描述】:

我在二维空间中有一组点。这些点有两种不同的类型(比如少数点是黑色的,而其余的点是白色的)。我需要找到一种算法来找到将两个点子集分开的多边形。多边形的顶点可以是这两种点中的任何一种。

我尝试了谷歌搜索,但找不到任何合适的算法。是否有任何算法可以做到这一点?

【问题讨论】:

  • 这是来自当前 jan codechef.com 竞赛的一个问题。问题千字节。直到比赛结束后才帮助他?这似乎是作弊

标签: algorithm 2d polygon


【解决方案1】:

你的问题不是很清楚,但我假设你只是在问存在。考虑以下算法:

  1. 选择一种特定的颜色,比如黑色
  2. 使用直线将此顶点连接到所有其他黑色顶点。路径上应该没有白色顶点。
  3. 如果有任何白色顶点正好在直线上,则无限绕道。
  4. 在这个由黑色节点形成的“星”网络周围绘制一个多边形。

只要将多边形绘制得非常接近“星形”网络,就可以完成最后一步,因此您现在可以得到在 2D 中将黑点与白点分开的多边形

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多