gpt4 book ai didi

mysql - 在512 * 512 map 中选择向外中心点的瓦片的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:12:13 24 4
gpt4 key购买 nike

我有一个具体问题。我在mysql中的数据(map)如下

id     table_row table_col tile_type
1 1 1 0
2 2 1 0
3 3 1 0
... ... ... 0
512 512 1 0
513 1 2 0
514 2 2 0
515 3 2 0
... ... ... 0
... 512 2 0
... 1 3 0
... 2 3 0
... 3 3 0
... ... ... 0
... 512 3 0
... 1 4 0

map 是512*512。我需要想出一种从中心(或接近中心 256*256)点选择图 block 的算法。所以它应该看起来像

256*256 first - once selected we can update tile_type to 1
255*256 second - update tile_type to 1
256*255 third - update tile_type to 1
257*256 fourth - update tile_type to 1
256*257 fifth - update tile_type to 1

等或类似的,但它必须开始从中心向外向各个方向填充瓷砖(可以是随机的)。任何想法表示赞赏

最佳答案

您的问题缺少一些细节,但我假设您正在询问一种生成靠近 512x512 网格中心的 id 的方法。

您的网格似乎是以特定方式枚举的:每一列都以 table_row 值的递增顺序枚举,并且列的枚举以 table_col 的递增顺序完成> 值(value)观。

因此,我们已经可以知道table_rowtable_col值为256的单元格的id:它是 255 x 512 + 256。这是正确的,因为在为 table_col 值 256 开始枚举之前枚举了 255 个完整列,并且这些列中的每一列都有 512 行。最后,在此列中,我们对第 256 行感兴趣。

更通用的版本如下所示。

((num_cols + 1) / 2 - 1) * num_rows + (num_rows + 1) / 2

您不需要太在意 +1 和 -1:它们只是处理奇数 num_rows 和 num_cols 值的数字技巧。

无论如何,要引入邻近度量,您可以只使用两个随机变量。随机变量 P 可以用列表示到中心的距离。 (即生成的 id 点的 table_col 距离网格中心的 table_col 值有多远)另一个随机变量Q 可以表示到行中心的距离。

((num_cols + 1) / 2 - 1 + P) * num_rows + ((num_rows + 1) / 2 + Q)

然后您可以根据需要生成 P 和 Q 的值,并获取距网格中心 P 列 Q 行的单元格的 id

关于mysql - 在512 * 512 map 中选择向外中心点的瓦片的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47030978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com