Мне нужно решить следующую проблему: у меня есть несколько прямоугольников размеров: ширина высота, ширина / 2 высота / 2, ширина / 4 высота / 4, ширина / 8 высота / 8 ... и т. Д.
Мне нужно упаковать эти прямоугольники в большой прямоугольник размером x * width y * height так, чтобы прямоугольники не перекрывались, прямоугольники распределялись случайным образом в упаковке, и любой прямоугольник должен хотя бы касаться другого прямоугольника.Я попробовал довольно простой жадный алгоритм, но он не работает.
Можете ли вы дать мне несколько советов, как решить проблему?
Спасибо!
РЕДАКТИРОВАТЬ: Вы можете иметь более одного прямоугольника каждого размера
Это не домашняя работа.Я пытаюсь создать эффект, подобный эффекту на ted.com
Случайным образом я имею в виду, что может существовать более одной упаковки прямоугольников, которая удовлетворяет ограничениям.Алгоритм не должен создавать одинаковую упаковку при каждом запуске.