标签: c# unity3d
我有一个简单的2D网格,格式为myGrid[x,y]
myGrid[x,y]
我正试图找到一种方法来找到一系列网格周围的边界,这样我就有了一个选择的形状。
这是我的意思的一个例子:
这里的想法是找到所有相关的角落"也就是将周边图像中的红点分成一个列表,这样我就可以从中创建一个2D网格。但我不知道最简单的方法。我想知道是否有一个简单的逻辑来做到这一点?
答案 0 :(得分:2)
假设你的形状是完整而坚实的,这里有一些想法 首先,您当然可以通过最小/最大坐标限制搜索区域:
然后我会通过以下标准循环遍历网格单元来找到所有外角和内角:
然后你可以在2级循环中迭代找到的角,找到围绕形状的边界路线:
这不是最有效的算法,但实现起来非常简单。
以下是另一种解决方案: