cloudstek/php-laff

PHP 的 Largest Area Fit First (LAFF) 3D 盒子装箱算法类

v1.1.1 2019-09-19 14:43 UTC

This package is auto-updated.

Last update: 2024-09-20 01:53:13 UTC


README

简介

这个 PHP 类有助于解决在装箱时(例如,为网店装箱)经常遇到的所谓“3D 装箱问题”。它计算适合盒子的近似最小容器尺寸,并提供有关它们在哪个层面装箱的额外信息。

该类是根据 M. Zahid Gürbüz、Selim Akyokus、Ibrahim Emiroglu 和 Aysun Güran 所著的《一种有效的 3D 长方形盒子装箱算法》一文编写的。它包含对问题和解决方案的逐步解释。

文档的 PDF 文件: http://www.zahidgurbuz.com/yayinlar/An%20Efficient%20Algorithm%20for%203D%20Rectangular%20Box%20Packing.pdf

最低要求

  • PHP 5+

安装

  1. 使用 composer 安装 composer require cloudstek/php-laff 或将 Packer.php 文件包含到您的 PHP 代码中
  2. 初始化 Packer 类
  3. 调用 pack() 方法开始装箱
  4. 坐下来,喝杯啤酒,放松一下!

示例

// Initialize boxes array
$boxes = array(
	array(
		'length' => 50,
		'width'  => 35,
		'height' => 23
	),
	array(
		'length' => 18,
		'width'  => 38,
		'height' => 16
	)
);

// Initialize Packer
$laff = new \Cloudstek\PhpLaff\Packer();
$laff->pack($boxes);

// or

$laff = new \Cloudstek\PhpLaff\Packer($boxes);
$laff->pack();

请参阅示例目录以获取更多示例!