gpt4 book ai didi

algorithm - 网格上一组 block 的空间组织

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

我有一个单元格网格(开始时是空的),以及一组 block ,这些 block 是矩形或正方形,其大小是单元格的倍数(例如,一个 block 可能是 2 个单元格乘 3 个单元格)。我不会提前知道所有的积木,但必须在它们到达时放置它们。如果有人想知道,这与将一堆较小的位图放在一个大位图上有关,其中所有位图的大小都是 32 的倍数。

我一直在想,我可以简单地遍历网格,寻找适合该 block 的位置,如果我找到一个位置,就把它放在那里。我还可以有一个四叉树来跟踪网格的哪些 block 被占用,这样我就不必多次遍历已分配的单元格。

我曾尝试通过谷歌搜索示例和解决方案,但由于英语不是我的母语,因此我无法确定要搜索的内容。

所以我的问题是使用什么算法和数据结构来解决这类问题?

最佳答案

您正在搜索关于所谓的“bin packing”(参见 http://en.wikipedia.org/wiki/Bin_packing_problem)的信息,更准确地说,是问题的 2D 版本,更具体地说,是“texture packing”。

你可能想看看那里:https://gamedev.stackexchange.com/questions/2829/texture-packing-algorithm (引用了几种算法和数据结构)

如果你真的有上进心,你也可以看看这方面的文章!

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.98.3502&rep=rep1&type=pdf

http://citeseerx.ist.psu.edu/search?q=texture+packing&submit=Search&sort=rel

关于algorithm - 网格上一组 block 的空间组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4041683/

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