Деякі зауваження занадто великі для коментарів (хоча це не передбачає очевидного алгоритму):
Лінія перфорації (EDITED) : Принаймні дві вершини прямокутника максимальної площі повинні лежати на межі полігона (тобто вздовж ребра або у вершини). І якщо прямокутник максимальної площі не є квадратом, то принаймні три вершини повинні лежати на межі багатокутника.
Я довів це собі в чотири кроки:
Примітка №1 : Принаймні одна вершина прямокутника максимальної площі завжди буде лежати на межі багатокутника. Це досить очевидно, але доказ може бути таким (протиріччя): припустимо, у вас був "максимальний" прямокутник без вершини на кордоні полігона. Це означає, що навколо кожної його вершини буде хоча б трохи місця. Так ви могли трохи розширити свій прямокутник, суперечивши його максимальності.
Примітка №2 : Принаймні дві вершини прямокутника максимальної площі завжди будуть лежати на межі полігона. Доказ може бути таким (знову ж таки суперечливим): Припустимо, у вас був "максимальний" прямокутник із лише однією вершиною на межі (гарантується Приміткою №1). Розглянемо два ребра, що не примикають до цієї вершини. Оскільки їх кінцеві точки НЕ знаходяться на межі, навколо є невелика кімната. Таким чином, будь-який з цих країв можна трохи «екструдувати», розширивши площу полігону і суперечивши його максимальності.
Примітка №3 : Існують дві діагонально протилежні вершини прямокутника максимальної площі, які лежать на межі багатокутника. (З Примітки №2 ми знаємо, що принаймні дві, але необов'язково, що вони перетинаються одна від одної.) Але знову ж таки суперечливістю, якщо єдині дві граничні вершини були сусідніми, то протилежний край (жоден з вершин чиїх) знаходяться на межі) можна було б трохи видавити, збільшивши площу прямокутника і суперечивши його максимальності.
Примітка №4 : (ЗДОРОВАНО) Якщо максимальний прямокутник площі не є квадратом, то три його вершини будуть лежати на межі багатокутника.
Щоб довести, припустимо, що це не так, тобто, що прямокутник максимальної площі не є квадратом, а лише дві його вершини знаходяться на межі багатокутника. Я покажу, як побудувати більший прямокутник, що суперечить максимальності.
Назвіть вершини прямокутника A
, B
, C
, і D
. Без обмеження спільності, припустимо , що B
і D
є два , які знаходяться на кордоні багатокутника. Оскільки A
і C
знаходяться на внутрішній частині багатокутника, навколо них є пелена кімната (представлена кружечками навколо A
та C
на малюнку нижче). Тепер намалюйте коло навколо прямокутника, а точки ковзання A
та C
трохи по колу настільки ж (зробіть A'
і C'
, як зображено нижче), щоб новий прямокутникA'BC'D
є більш квадратним, ніж оригінальний прямокутник. Цей процес створює новий прямокутник, який також знаходиться в межах початкового багатокутника і має більшу площу. Це суперечність, тому доказ робиться.
Щоб вважати це доказом, вам доведеться переконати себе в тому, що площа прямокутника, вписаного в коло, збільшується в міру того, як він стає «більш квадратним» (тобто різниця між довжинами ребер стає меншою). Також вам потрібно багатокутник бути опуклим, щоб нові лінії були всередині нього. І, мабуть, є й інші дрібниці, що потрапляють під килим, але я впевнений, що вони все виходять.