根据连通分量标注的结果计算多边形顶点

时间:2016-07-03 06:34:16

标签: javascript algorithm grid tile

我正在制作基于平铺的游戏。

现在我可以使用连接组件标签算法找到所有连接区域。

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

例如: enter image description here

正如您所看到的,所有黄色瓷砖具有相同的区域,并且在连接组件标签算法的帮助下,我知道每个区块的所有(x,y)信息。

现在我想要的是为YELLOW AREA POLY(顺时针)生成一个多边形顶点数组。

enter image description here

这有什么好的算法吗?

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

1 个答案:

答案 0 :(得分:0)

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

以下是我的解决方案流程序列:

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

这就是我想要的最后顺时针PolyVerticesArray。

enter image description here