我有一组不同大小的正方形和矩形,我想使用 PHP 将它们组合成一个大正方形/矩形。这些方块通常是我想制作成蒙太奇的图像——但有时它们只是数学对象。
是否有任何 PHP 算法,这种类型的东西叫什么?
更新:经过更多搜索,我认为我想要的是所谓的装箱问题。但是,我还想为某些类型的打包问题(如图像)添加一定量的随机化,以引起人们的兴趣。
我有一组不同大小的正方形和矩形,我想使用 PHP 将它们组合成一个大正方形/矩形。这些方块通常是我想制作成蒙太奇的图像——但有时它们只是数学对象。
是否有任何 PHP 算法,这种类型的东西叫什么?
更新:经过更多搜索,我认为我想要的是所谓的装箱问题。但是,我还想为某些类型的打包问题(如图像)添加一定量的随机化,以引起人们的兴趣。
我认为您可以使用模拟退火算法。我用它用矩形广告填充矩形报纸页面。正如您所说,您可以通过随机解决方案开始它,然后您可以慢慢找到一个好的解决方案。请参阅此处http://codetuner.blogspot.com/2010/03/simulated-annealing-approach-to.html。我用它来解决分页问题。我认为您也可以将它用于您的需求。
我在 php 中编写了一个一维装箱算法。您想寻找最合适的、最合适的等等。但这不是二维问题,也许你想寻找背包问题?