Упаковка треугольников в прямоугольник

Я пытаюсь создать алгоритм, который будет упаковывать правильные и неправильные треугольники разных размеров в прямоугольники заданного размера наиболее эффективным способом. Я пытаюсь создать схемы для резки фанерных деталей для zomes, чтобы минимизировать сумма материальных затрат, связанных со строительством.

Входы будут:

  1. Основание и высота каждого треугольника
  2. Ширина и высота разрезаемого материала.

Результатом будет диаграмма, которая выглядит примерно так: диаграмма списка вырезок

Я прочитал математику, связанную с упаковкой, изучил существующие библиотеки и соответствующие теги stackoverflow, а также возился с matplotlib, но не смог придумать ничего, что легко применимо к этой задаче.

Я знаю, что 2D-упаковка бинов — это NP-сложная задача, поэтому я не ищу чего-то математически совершенного. Даже скромный прирост эффективности был бы чрезвычайно полезен.

https://www.hindawi.com/journals/mpe/2014/548957/< /а>

Эффективный алгоритм упаковки неправильных многоугольников

https://github.com/wbernoudy/packing-pythagorean-triangles https://github.com/shivamjgandhi/IsoscelesTriangleSim


person Benjamin James    schedule 20.01.2021    source источник