Меня научили рисовать, грех не воспользоваться.
В предыдущий раз я имел в виду следующее:
Если
, то площадь прямоугольника на стороне больше, при
- площади равны.
Цитата:
Если берем заданную вершину многоугольника и фиксируем угол наглона стороны многоугольника из этой вершины к стороне искомого прямоугольника, то остальные три стороны прямоугольника восстанавливаются однозначно. Таким образом, непрерывно изменяя угол - от стороны многоугольника с искомой вершиной на стороне прямоугольника (0 градусов) до смежная сторона с искомой вершиной на стороне прямоугольника - выбираем минимум. Пробегая по всем вершинам - находим минимальную площадь прямоугольника. Если непрерывный поворот и достраивание прямоугольника удается формализовать, то задача решается аналитически.
Алгоритм, который здесь описан можно образно представить как выпуклый многоугольник скатывается по наклонной плоскости и в каждом положении достраивается до прямоугольника:
Цитата:
Такого рода задачи возникают, когда из куска металла надо вырезать как можно больше фигур определённой формы. Правда в такой постановке задача уже становится совсем другой и минимальный окаймляющий прямоугольник может дать гораздо меньшую экономию металла, чем резка на взгляд мастера, в особенности, когда фигура не выпуклая. Поэтому, возможно мы совсем не то решаем.
Наверное здесь идет речь о динамическом программировании: сначала для заданных фигур ищут прямоугольники наименьшей площади, а затем оптимальным образом распределяют эти прямоугольники по куску металла. При больших объемах производства такой подход себя оправдывает.