【问题标题】:Calculating the poly vertices based on the result of Connected Component Labeling根据 Connected Component Labeling 的结果计算多边形顶点
【发布时间】:2016-11-05 03:53:00
【问题描述】:

我正在制作一个基于图块的游戏。

现在我可以使用 Connected Component Labeling 算法找到所有连接区域。

但现在我遇到的问题是如何计算每个连接区域的多边形顶点。

例如:

如您所见,所有黄色图块都属于同一区域,并且在连接组件标签算法的帮助下,我知道每个图块的所有 (x, y) 信息。

现在我想要的是为黄色区域多边形(顺时针)生成一个多边形顶点数组。

有什么好的算法吗?

任何建议将不胜感激,谢谢:)

【问题讨论】:

    标签: javascript algorithm grid tile


    【解决方案1】:

    在做了更多研究后,我终于找到了基于这篇文章的解决方案:java-merge-adiacent-rectangles-into-a-polygon

    这是我的一般解决过程顺序:

    • 将图块中的所有边提取到 EdgeArray 中
    • 删除 EdgeArray 中所有重复的边 这将只留下我想要的合并多边形轮廓的边缘
    • 从头到尾,从头到尾连接所有边...
    • 从边缘拾取所有顶点

    这就是我想要的最终顺时针方向的 PolyVerticesArray。

    【讨论】:

      猜你喜欢
      • 2012-01-15
      • 1970-01-01
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 2012-09-19
      • 2012-04-06
      • 2021-12-07
      相关资源
      最近更新 更多