Алгоритм размещения сеток (html-подобных таблиц) с интервалами строк / столбцов - PullRequest
0 голосов
/ 03 ноября 2018

Эта проблема должна иметь одинаковое решение как для горизонтального, так и для вертикального, поэтому я представлю только горизонтальный случай. Рассмотрим следующий макет с 3 столбцами, 3 рядами и 2 интервалами столбцов (объединенные ячейки):

|--A--|---B--|----C----|
|--D--|-------E--------|
|------F-----|----G----|

Каждый столбец (A, B, C) имеет предпочтительную ширину. Кроме того, каждый сегмент (A, B, C, D, E, F, G) имеет минимальную ширину. Требование состоит в том, чтобы вычислить ширину каждого сегмента таким образом, чтобы любое переполнение по предпочтительной ширине (вызванное ограничением минимальной ширины) распределялось равномерно по свободному пространству (недостаточному использованию) в других сегментах, насколько это было возможно, прежде чем увеличивать сегменты до приспособить минимальное ограничение ширины.

...