Существует ли алгоритм оптимального расположения нескольких прямоугольников? Друзья, а есть ли уже такой алгоритм, с помощью которого можно вручную или автоматически расположить N данных прямоугольников таким образом, чтобы при их компоновке на плоскости, оставалось как можно меньше "пропусков"?
Примеры:
• Тайлы в Metro стиле Windowscs406122.vk.me/g43446579/a_ec85082c.jpg
• Игра, похожая на 15, только с тайлами с разными сторонами
1. iphonec.ru/files/iphonec/reg_images/unblock_me_1.png
2. static-5.app4smart.me/uploads/posts/thumbs/7251/f-...
• Иллюстрация принципа "золотого сечения"photo-element.ru/analysis/aks/image017.jpg
• Йоханнесс Иттен, иллюстрация к заданиюlh4.ggpht.com/_rnO4JWKuX8U/TGgrc2ooPhI/AAAAAAAAAUU...
Ближе всего к цели именно последняя иллюстрация. То есть, имеется несколько прямоугольников с разными сторонами, это могут быть как квадраты, так прямоугольники, в любом количестве и с известными сторонами.
Смысл - разместить их на плоскости максимально плотно друг к другу, с минимальным количеством зазоров или вовсе без них, однако в конечном итоге, "собранная" фигура имела форму, максимально близкую к прямоугольнику и площадь итоговой фигуры была максимально близка к сумме площадей исходных прямоугольников.
Ффуух, надеюсь, понятно написал :)
UPD: Починил ссылки.

21 Авг 2019 в 06:16
242 +1
0
Ответы
1

Да, существуют различные алгоритмы и методы оптимального расположения прямоугольников на плоскости с минимальным количеством "пропусков". Одним из таких методов является метод упаковки (packing algorithm), который находит оптимальное расположение прямоугольников на заданной плоскости.
Существуют как готовые программы и библиотеки, так и алгоритмы, которые можно использовать для решения задачи оптимального расположения прямоугольников. Например, алгоритмы упаковки прямоугольников в библиотеке Python matplotlib или библиотека D3.js для JavaScript могут быть полезными инструментами для этой задачи.
Для более сложных случаев, когда требуется нахождение оптимального расположения большого числа прямоугольников, может потребоваться разработка собственных алгоритмов или использование специализированных программных средств.

20 Апр в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 436 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир