2

包装矩形的算法是没有旋转的吗?

也许在 C++ 中实现?

我发现了这个

  • 断头台BinPack
  • 货架箱包
  • SkylineBinPack

但他们旋转矩形。

4

3 回答 3

3

您可以按宽度对框进行排序,然后将其放入树的节点中。然后沿 2 轴拆分树。对于下一个盒子,寻找最合适的,即最少浪费并将盒子放入空闲节点。冲洗并重复,直到没有盒子或节点留下。您可以通过 blackpawn 研究使用 kd-tree 打包光照贴图。

于 2013-08-28T22:04:39.970 回答
2

您可以使您的盒子方形并在打包后忽略旋转。这将浪费一些空间,但不需要更改 Guillotine 库。

于 2013-08-29T11:37:04.317 回答
2

您可以使用这个小代码来打包矩形:

http://www.flipcode.com/archives/Rectangle_Placement.shtml

于 2013-08-29T11:42:12.813 回答