如何找到位于二维平面内的“东方”区域

时间:2018-01-18 20:39:06

标签: algorithm matrix 2d

我试图找到一种方法来确定包裹在2-d平面上的连续区域的最远方(最东部,最西部等)。左下角是[0,0],右上角是[244,244]我在下面列出了我的数据示例。请注意,4个角中存在的深灰色区域是相同的区域。

enter image description here

我能够通过检查给定区域内的每个方块并记录具有最高X的数据来解决我的数据问题。我也进行了相同的搜索,但限制为[0,width * .5]。但是,这个解决方案只能起作用,因为我的区域主要以一个点为中心而不是长而薄。

@maraca在评论中概述了一种方法,我认为可以归结为:

* find an edge square
* assign 0 to current square
* walk around the edges, adding 1 when travelling east, -1 when travelling west (or north/ south) 
* the square with the highest value is the furthest east, the square with the lowest value is the furthest west

1 个答案:

答案 0 :(得分:0)

@maraca在评论中概述了一种方法,我认为可以将其提炼为:

* find an edge square
* assign 0 to current square
* walk around the edges, adding 1 when travelling east, -1 when travelling west (or north/ south) 
* the square with the highest value is the furthest east, the square with the lowest value is the furthest west

效果很好。谢谢!