Час від часу мені доводиться виготовляти карту, щоб показати цікаві місця. Перший крок для створення сторінок, використовуючи звичайну сітку:
Рішення мені не подобається, тому що: a) є кілька сторінок з одинарними точками (наприклад, сторінка 25), які сидять на краю, і b) занадто багато сторінок.
Перший випуск легко виправити за допомогою коду, - перемістіть прямокутник розміром сторінки до центру відповідних точок:
Мені це все ще не подобається, він виглядає дуже переповненим, оскільки кількість сторінок залишається однаковою. Пам'ятайте, що всі вони є фактичними сторінками паперу формату A3 у кількох копіях звіту!
Тому я приготував код, який зменшує кількість сторінок. У цьому прикладі від 45 до 34.
Я не впевнений, чи це найкращий результат, якого можна досягти,
Яка найкраща стратегія (псевдокод, публікація, бібліотека Python) для переміщення через точки, щоб мінімізувати кількість заданих розмірів прямокутників для захоплення всіх точок? Звичайно, хтось виявив це в теорії ігор, військовому мистецтві чи рибальській галузі
Це оновлення до початкового запитання:
Це показує реальний розмір та потрібний розмір сторінки:
Більш масштабний показ 10 із 164 сторінок:
Розмір прямокутника може змінюватися, як тільки він залишається в межах, тобто менший - це добре.