我会去哪里寻找将 0 或 1 的二维网格值作为输入的算法,然后在其中识别所有可能的非重叠矩形?
在更实际的解释中:我正在绘制一个由多个正方形表示的网格,并且我希望找到一种方法将尽可能多的相邻正方形组合成矩形,以减少骑自行车所花费的时间每个正方形并绘制它。
不需要最高效率,速度更重要。
附录:显然我正在寻找的似乎是一种称为 Tesselation 的技术。现在我只需要为这个具体案例找到一个好的描述。
附录2:“1”方格的边界将是不规则的,在某些情况下甚至没有连接,因为“1”方格的分布将是完全随机的。我需要识别这些不规则的形状并将其分成规则的矩形。
正确答案:为了在速度和效率之间取得最佳平衡,最好使用网格数据来填充四叉树,每个节点的状态值为空/部分填充/填充。