是否有一个c++源/lib来解决2D Bin Packing使用矩形Bin(而不是正方形)和旋转
Is there a c++ source/lib to solve 2D Bin Packing with a rectangular bin (not square) and rotation?
正如标题所说,我需要C/C++源代码或库,可以用来解决2D矩形的Bin Packing问题,其中Bin也是矩形,矩形也被旋转90°以更好地适应。我已经有了所有必需的值,所以我不需要在线打包算法。
我只找到了一个处理方形垃圾箱的库,没有轮换,这对我的需求来说效率不够。
我真的很感激任何C/C++处理矩形仓和旋转的东西。
谢谢。
PS:计算所需的时间并不重要,只有结果重要。
PPS:它必须是C或C++,我在搜索stackoverflow时没有发现任何有用的东西。。。
http://clb.demon.fi/files/RectangleBinPack.pdf是关键。这是关于2d仓包装的参考。
您可以修改其中的一个算法来满足您的需求。我怀疑是否需要旋转,算法已经相当先进了。
这个(https://github.com/Lalaland/PixelPacker/blob/master/src/algoMaxRects.cpp)是如何实现MaxRects算法的示例。
在选择下一个要使用的矩形时,您可能需要在算法的顶部进行修改。只需让它看看矩形的不同方向,并在整个列表中循环。
我几周前发现了这个帖子,在浏览了答案中的PDF,并摆弄了作者的代码后,我重新编写了一篇更适合我需要的文章(纹理图谱打包)
如果其他人感兴趣。。。https://github.com/chris-stones/BinPack2D
- 允许用户将数据结构与提交的矩形捆绑在一起(原始文件名等)
- 打包多个bin(用于2d纹理图集阵列-GL_EXT_texture_array)
此外,我没有跟踪拆分和连接自由矩形,而是跟踪和排序自由左上角。我发现它的实现要简单得多,结果也同样好。
没有文档,请参阅头文件顶部的ExampleProgram()。
相关文章:
- 与互斥锁相比,旋转锁可以保证上下文切换
- 绘制旋转的三角形
- 旋转模型矩阵时的形状失真
- 四边形的 2D 旋转
- 垂直方向的 Gtk3+ 旋转按钮 (c/c++)
- 发布旋转矩阵(openGL/glm)
- 顺时针迭代旋转 3 位数字
- 形状对象的旋转和缩放不正确C++
- 如何在 OpenSceneGraph 中缩放/旋转/移动资产
- /usr/bin/ld: cannot find -lc++
- 如何有效地计算将单位立方体映射到自身的反射和旋转?
- 加载"D:UsersPublicDocumentsopencvbuildx64vc14binopencv_world340d.dll",找不到或打开PDB文件
- 子轴围绕父轴而不是他自己的轴旋转
- 将使用太多的纹理插值器 - 带旋转的着色器
- SFML 向下移动时如何围绕屏幕中心旋转?
- 如何在OpenGL中正确旋转和缩放对象?
- 使用 C++在 OpenGL 中移动自动旋转的 3D 多边形
- 按时间自动旋转形状,同时在 OpenGL 中使用C++移动它们
- Linux ld 如何解释 -lSomething::AnotherSomething(如 /usr/bin/ld: 找
- 是否有一个c++源/lib来解决2D Bin Packing使用矩形Bin(而不是正方形)和旋转