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