【发布时间】:2012-02-13 22:01:47
【问题描述】:
假设我定义了一些抽象形状,每个形状都有宽度和高度(为了简单起见,我们将它们设为矩形)。如何将它们中的尽可能多的放置在一个定义了宽度和高度的画布上(只是一个术语,不一定是 HTML5 画布)?
显然这是某种约束满足问题,但我真的不知道从哪里开始(除了蛮力)。谷歌搜索只会出现不相关的结果(可能是因为我不知道要搜索什么)。什么是好的算法,或者什么是创建算法的好方法?
Fizz 就是一个很好的例子。形状(在本例中为圆形)以组的形式出现,并且不会相互重叠,并且不会相互干扰。我的用例更像是一次性定位交易。另一个例子是SpriteRight,它在一定的范围内尽可能高效地放置。
【问题讨论】:
-
谷歌装箱算法,你会找到你需要的开始。
标签: language-agnostic constraints constraint-programming