3 个稳定版本
1.0.2 | 2023年9月28日 |
---|
#688 在 图像
34KB
564 行
Max Rects
Jukka Jylänki 的二维装箱中最大矩形的算法实现。此crate使用MaxRects算法高效地将给定数量的箱子装入指定数量的箱子中,并生成装箱结果的可视化。
这是为了学习Rust和我的一个最喜欢的算法而创建的。包括一个png生成器来可视化结果
特性
- MaxRects算法的高效装箱实现。
- 生成可视化输出以理解装箱结果。
使用方法
- 将此仓库克隆到本地机器。
git clone https://github.com/jeremycg/max_rects.git
cd max_rects
- 运行程序,指定所需的箱子和箱子数量。
cargo run -- -b 50 -n 10
- 您还可以在自己的代码中导入并使用此crate
use max_rects::{Bucket, MaxRects, PackingBox};
fn main() {
let boxes = vec![PackingBox::new(5, 6), PackingBox::new(4, 4)];
let bins = vec![Bucket::new(10, 20, 0, 0, 1)];
let mut max_rects = MaxRects::new(boxes, bins);
let (placed, remaining, updated_bins) = max_rects.place();
}
命令行参数
- -b 或 --boxes: 设置要放置的箱子数量(必需)。
- -n 或 --bins: 设置要装箱的箱子数量(必需)。
文档
您可以通过运行来生成此crate的文档
cargo doc --open
许可证
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE.md文件。
贡献
请随时提交问题和拉取请求,我们感谢您的帮助!
依赖关系
~19MB
~178K SLoC