dagmike / bin-packing
2D bin packing PHP implementation
Installs: 1 324
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 1
Forks: 5
Open Issues: 8
Requires
- php: >=5.6
This package is not auto-updated.
Last update: 2024-10-27 09:11:53 UTC
README
This repository is a port of the 2D bin packing algorithms found here: juj/RectangleBinPack into PHP.
Installation
You can install the package via composer:
composer require dagmike/bin-packing
Usage
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"; }
Currently Implemented Algorithms
- Maximum Rectangles
- Bottom-Left - RectBottomLeft
- Best Area Fit - RectBestAreaFit
- Best Short Side Fit - RectBestShortSideFit
- Best Long Side Fit - RectBestLongSideFit
- Linear - RectLinear