Нужен алгоритм разбиения прямоугольника на несколько

Дан прямоугольник с кординатами диагонали x1, y1 - нижня левая точка, x2 y2 - верхня правая
Нужно разделить этот прямоугольник на n приблизительно равных прямоугольников, начинать желательно с наибольшей стороны. Кординаты новых прямоугольников нужно запоминать в таком же формате как у изначального. Кто-нибудь знает алгоритм?
12 года назад от kislotka

1 ответ

0 голосов
Что такое "приблизительно равные" прямоугольники? Можно делить просто на равные - одну сторону на n частей (например, как при n=5, длинный вариант) . Или нужно, чтобы эти прямоугольники были как можно боле "квадратными", т. е. чтобы их стороны были максимально приближены друг к другу? А что важне - чтобы они были "приблизительно равными" или "приблизительно квадратными"? Например, в случае n=3 можно сдвинуть горизонтальную черту леве - от этого разбиение станет боле правильным или мене?
Самый тупой вариант - определяешь функцию отклонения текущего разбиения от идеального (что-нибудь со среднеквадратичным) , а потом находищь разбиение с наименьшим отклонением.
12 года назад от Арина Типунина

Связанные вопросы