【发布时间】:2009-10-13 22:20:33
【问题描述】:
我正在寻找任何 3d bin 打包算法的确定性实现,即将许多不同的小方体打包到一个或多个更大的方体中。解决方案可能与最佳解决方案有所不同。
它应该用 C、C++、Java、C#、IronPython、IronRuby 或任何其他可以从 .Net 代码中转换的语言编写。
我找到了这个 C 算法 http://www.diku.dk/hjemmesider/ansatte/pisinger/3dbpp.c ,但它不会旋转长方体来找到最合适的。我可以不将它们倒置旋转,但应该可以水平旋转。
【问题讨论】:
-
您声称您正在寻找一种算法,但您随后列出了编程语言。您是在寻找通用算法还是实现?
-
您想要最佳解决方案,还是非常好的解决方案?长方体都是一样的吗?当您说旋转时,您是指 90 度还是任何角度?
-
@Beta:如果他将长方体打包成长方体,那么除了 90 度的整数倍之外,肯定会导致次优解。
-
@Asaph:当然,不是!仅仅因为我提到“算法”并不意味着它是一项功课。
-
@Kinopiko 和 Mouk,尝试将 5 个单位正方形放入宽度为 2.708 的正方形中,然后再告诉我有关非 90 度角的信息。
标签: algorithm language-agnostic math bin-packing