【问题标题】:How can I turn a matrix into a polygon如何将矩阵变成多边形
【发布时间】:2017-10-27 20:02:42
【问题描述】:

我希望能够将图像作为矩阵并将其转换为多边形。

图像将是具有多个角度的不规则形状,并且基本上找到可以处理成多边形(顶点数组)的外边缘

图像已经编码,因此我可以获得构成总形状(填充)的所有像素。我知道如何获得它的原点并用它偏移其他像素。

[背景] 我正在尝试将风险变成游戏。我想将所有区域映射为多边形,以便对它们进行鼠标检测。

我知道我可以只通过鼠标 x,y 并遍历像素,但地图很大,效率不高。

注意:我打算使用 libgdx 的多边形库来映射它。它的顶点采用一维浮点数组。

【问题讨论】:

  • “冒险进入游戏”掌心数字/编程/java应用程序...
  • 通过图像到多边形,您的意思是将 2D 图像映射到平面多边形上,这样鼠标就可以点击 x、y 点?
  • 好的,我想我知道 libgdx 库的发展方向了。我认为正确的方法是“手动”。对于您拥有的每张地图/图像,您必须手动勾勒出领土的轮廓,然后将该列表作为单独的参数提供给库方法。
  • “您必须手动勾勒出领土的轮廓,然后将该列表作为单独的参数提供给库方法。”真的吗?
  • 我已经有了整体造型。除了辛苦地手工制作之外,肯定还有其他方法。

标签: java matrix graphics libgdx polygon


【解决方案1】:

我可以做到这一点的一种方法是遍历形状中的所有像素并找到(并分离)那些在不属于图像的像素旁边的像素。

示例:

00111000
01111100
01111000
00111110

我可以把上面的变成

00111000
01000100
01001000
00111100

这很棒,但我真正想要的是它看起来像这样:

00101000
01000100
01001000
00100100

所以我可以通过 2,0 --> 4,0 --> 5,1 ...等等

【讨论】:

    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 2012-07-31
    • 2020-06-14
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多