我想找到所有接触或包含给定有限线段部分的网格图块。网格是 2d 规则网格,因此我可以从瓦片位置(行、列)推断出任何瓦片的中心,反之亦然,我可以使用两个快速整数除法从给定浮点坐标计算瓦片位置。瓦片是二次方的,例如 0.25x0.25,其中 0.25 定义为瓦片宽度。现在我需要确定给定线段接触的所有图块(浮点数中给出的两个 2d 点定义一个线段)。我目前的方法是将线段分成等距点,距离为平铺宽度的一半(向香农致敬)。比我收集包含给定点的所有图块并删除重复的图块。
编辑:正如 Patricia 所指出的,我目前的方法不会产生完整的图块集,因为不会包含仅被线触及的一小部分的图块。这对我来说是可以接受的,因为在我的情况下,速度比准确性更重要,但仍应注意。
为了更清楚:我想要图像中的所有红色瓷砖,但如果我获得速度,我可以节省例如玫瑰色瓷砖。