dagmike / bin-packing
2D 器具装箱 PHP 实现
1.7.2
2021-02-27 14:19 UTC
Requires
- php: >=5.6
This package is not auto-updated.
Last update: 2024-09-29 08:49:25 UTC
README
此仓库是以下2D装箱算法的PHP端口:juj/RectangleBinPack。
安装
您可以通过composer安装此包
composer require dagmike/bin-packing
使用方法
use BinPacking\RectangleBinPack; use BinPacking\Rectangle; $bin = (new RectangleBinPack(1000, 1000))->init(); $packed = $bin->insert(new Rectangle(100, 100), "RectBestAreaFit"); if ($packed) { echo "Item ({$packed->getWidth()}x{$packed->getHeight()}) packed at position ({$packed->getX()}, {$packed->getY()})"; } else { echo "Unable to pack item"; }
当前实现算法
- 最大矩形
- 左下角 - RectBottomLeft
- 最佳区域适应 - RectBestAreaFit
- 最佳短边适应 - RectBestShortSideFit
- 最佳长边适应 - RectBestLongSideFit
- 线性 - RectLinear