如何将矩阵转换为多边形

时间:2017-10-27 20:02:42

标签: java matrix graphics libgdx polygon

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

我能做到这一点的一种方法是遍历形状中的所有像素,找到(并分开)那些不在图像之外的像素旁边的像素。

示例:

00111000
01111100
01111000
00111110

我可以把上面的内容变成

00111000
01000100
01001000
00111100

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

00101000
01000100
01001000
00100100

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