Я заказал несколько кожаных листов, из которых я хотел бы собрать шары для жонглирования, сшивая края вместе. Я использую платоновские тела для формы шаров.
Я могу отсканировать кожаные листы и создать многоугольник, который приблизительно соответствует форме кожаного листа (как вы знаете, это кожа животного происхождения, а не прямоугольники).
Так что теперь я хотел бы увеличить размер моего мяча для жонглирования.
В моем примере полигоны являются правильными, но я ищу решение с простыми полигонами.
Какой самый большой масштабный коэффициент я могу применить к своим полигонам, чтобы они все умещались внутри листа?
Я стараюсь свести к минимуму отходы, используя как можно больше материала.
Очевидно, что разрезание сетки многогранника на отдельный многоугольник увеличит пространство возможной комбинации, но также уменьшит качество окончательной геометрии, потому что здесь больше шитья и накапливаются ошибки. Но этот вопрос не о перечислении различных способов разворачивания многогранника. Их можно рассматривать независимо. Таким образом, полигоны являются простыми полигонами.
Формально:
Входные данные:
- : простой многоугольник (цель)
- : набор полигонов, которые я хочу разместить
- : график из простых многоугольников - каждый узел представляет простой многоугольник в , и между каждой парой многоугольников, которые имеют общее ребро, есть одно ребро ребра
- (использование материалов и связности)
Выход:
- масштабный коэффициент
- , подграф
- : местоположение и угол для каждого многоугольника в
- мера качества решения:
Максимизировать учетом этих условий:
- (1)
- (2)
- для каждого многоугольника в , масштабированное по коэффициенту в местоположении находится внутри (3)
- многоугольники в не перекрываются (4)
(V (G) - вершины графа, а S - множество многоугольников, но они описывают один и тот же набор объектов. Может быть, есть более компактный способ сделать это.)
Объяснение условий:
- (1) Я хочу, чтобы все полигоны были в окончательном макете
- (2) Некоторые соединения могут быть разорваны при необходимости
- (3) (4) мяч сделан из кожи
Вот целевой полигон
Вот набор полигонов, которые я хочу упаковать: