【发布时间】:2019-07-24 12:00:35
【问题描述】:
我正在使用this 二进制包代码。我正在使用它的GrowingPacker 方法。它工作正常,但我很难弄清楚最终包装的尺寸,我的意思是最终结果的边界框,如(xMin, xMax, yMin, yMax)。找到它的最佳方法是什么?
我可以使用x, y, w, h 的最终值this.root 来计算边界框吗?
我不确定它是否正确,但目前我正在使用像 that loop 这样的循环来计算最终包的边界框(我使用的是 C++):
#include <cfloat> // For FLT_MAX
float minX = FLT_MAX;
float minY = FLT_MAX;
float maxW = - FLT_MAX;
float maxH = - FLT_MAX;
for (const Block &block : blocks) {
if (block.fit) {
if (block.fit->x < minX)
minX = block.fit->x;
if (block.fit->y < minY)
minY = block.fit->y;
if (block.fit->w > maxW)
maxW = block.fit->w;
if (block.fit->h > maxH)
maxH = block.fit->h;
}
}
【问题讨论】:
-
您链接到的网站上的演示就是这样做的。
标签: c++ algorithm packing bin-packing