我要寻找一个确定的实施任何3D装箱算法,即包装内的一个许多小型和不同的立方体或多个大的。 该解决方案可从最佳一个变化。
它应该在C,C ++,Java和C#,IronPython的,IronRuby的或任何其他语言的罐箱从.net代码被写入。
我发现这款C算法http://www.diku.dk/hjemmesider/ansatte/pisinger/3dbpp.c ,但它不会转动立方体找到最合适的。 我行与不旋转他们倒挂,但水平旋转应该是可能的。
我要寻找一个确定的实施任何3D装箱算法,即包装内的一个许多小型和不同的立方体或多个大的。 该解决方案可从最佳一个变化。
它应该在C,C ++,Java和C#,IronPython的,IronRuby的或任何其他语言的罐箱从.net代码被写入。
我发现这款C算法http://www.diku.dk/hjemmesider/ansatte/pisinger/3dbpp.c ,但它不会转动立方体找到最合适的。 我行与不旋转他们倒挂,但水平旋转应该是可能的。
我写的情况下,你描述即3D矩形框,用正交旋转,在C近似算法++。 你可以找到在发表论文的结果和算法: http://www.cs.ukzn.ac.za/publications/erick_dube_507-034.pdf
我转换wknechtel / 3D彬包 C代码的JavaScript。 可以很容易地移植到C#。
https://github.com/keremdemirer/3dbinpackingjs
您可以从运行的计算实例index.html
文件,并查看生成的报告。 pack1.js
文件中包含的应用程序和算法。 我不知道是怎么算法的作品,但结果满足包装计算。
这个问题是NP难问题。 最好的办法是一种近似算法(直到天才的人解决任何NP问题,或在一个解决方案是一个非常幸运的家伙跌跌撞撞。)我不为这个问题所知道的任何众所周知近似算法很遗憾。
开源Java项目与面积最大飞度第一支撑位: 3D斌容器包装
旋转2D或3D。
这个问题的一般版本是在“算法考虑一般和三维装箱问题的机器人可压缩变形: http://www.3dbinbox.com/Public/home/
你可以看看我的近似算法。
它是基于最大面积覆盖率智能首次适应算法。
https://github.com/mohitesh07/3d-bin-packing
它是用Java编写