ste*_*nea 6 algorithm packing rectangles
我正在寻找解决以下问题的指针:我有一组矩形,其高度已知,x位也是,我想以更紧凑的形式打包它们.使用一个小图画(所有矩形宽度相同,但宽度可能在现实生活中有所不同),我想,而不是.
-r1-
-r2--
-r3--
-r4-
-r5--
Run Code Online (Sandbox Code Playgroud)
就像是.
-r1- -r3--
-r2-- -r4-
-r5--
Run Code Online (Sandbox Code Playgroud)
所有提示将不胜感激.我不一定在寻找"最佳"解决方案.
像这样的东西吗?
编写一个方法来检查 x 轴的特定间隔上存在哪些矩形
Collection<Rectangle> overlaps (int startx, int endx, Collection<Rectangle> rects){
...
}
Run Code Online (Sandbox Code Playgroud)循环矩形集合
Collection<Rectangle> toDraw;
Collection<Rectangle> drawn;
foreach (Rectangle r in toDraw){
Collection<Rectangle> overlapping = overlaps (r.x, r.x+r.width, drawn);
int y = 0;
foreach(Rectangle overlapRect in overlapping){
y += overlapRect.height;
}
drawRectangle(y, Rectangle);
drawn.add(r);
}
Run Code Online (Sandbox Code Playgroud)