Является ли алгоритм упаковки прямоугольников без вращения?
Может быть, реализация в C ++?
я нашел этот
а также
Но они вращаться прямоугольники.
Вы можете отсортировать блоки по ширине, а затем поместить их в узел дерева. Затем разделите дерево вдоль оси 2. Для следующей коробки ищите лучшее соответствие, т.е. Наименьшее количество отходов и поместите коробку в свободный узел. Промыть и повторять до тех пор, пока не останется ни коробок, ни узла. Вы можете посмотреть упаковку лайтмапов с kd-деревом от blackpawn.
Вы можете сделать ваши коробки квадратными и игнорировать вращение после упаковки. Это потратит некоторое пространство, но не требует изменений в библиотеке гильотины.
Вы можете использовать этот небольшой код для упаковки прямоугольников: