Допустим, у меня есть несколько абстрактных фигур, каждая из которых имеет ширину и высоту (для простоты сделаем их прямоугольниками). Как я могу разместить как можно больше из них на одном холсте (просто термин, не обязательно холст HTML5) определенной ширины и высоты?
Очевидно, что это какая-то проблема удовлетворения ограничений, но я не знаю, с чего начать (кроме грубой силы). Поиск в Google просто приводит к несвязанным результатам (вероятно, потому что я не знаю, что искать). Каким будет хороший алгоритм или как создать алгоритм для этого?
Fizz является хорошим примером. Формы (в данном случае круги) появляются в группах и не перекрывают друг друга, и они не мешают друг другу. Мой вариант использования - это скорее сделка с однократным позиционированием. Другой пример - SpriteRight , который максимально эффективно размещает в определенных границах.