У меня есть набор из 20 (пример) 2D-полигонов, начиная от треугольников, 4-сторонних неправильных, 5-сторонних до 6-сторонних полигонов. Некоторые из них почти идеальные прямоугольники, некоторые совершенно неправильной формы. Все они будут иметь от 3 до 6 сторон, максимум.
У меня также есть прямоугольник, скажем, 16 на 9, так как это типичное соотношение сторон для экранов.
Моя цель — найти способ сложить многоугольники внутри прямоугольника, затрачивая минимум места.
Я могу вращать их, масштабировать вверх или вниз, перемещать в любое место внутри прямоугольника. Единственное правило состоит в том, чтобы делать это, сохраняя их визуально приятными (не делайте их слишком большими или слишком маленькими, не поворачивайте их более чем на +- 45 градусов, если это возможно).
Как и просили, вот пример изображения:
Слева мы видим приемлемый результат, а справа вход.
Я думал научить ИИ выполнять эту работу, но есть ли какой-нибудь алгоритм, который может помочь с этим?
Имейте в виду, что как только я поместил несколько полигонов в прямоугольник, я процедурно продолжу добавлять к нему новые по запросу. .
bin-packing
- person Spektre   schedule 05.05.2017