Учитывая слова и их частоты, а также область экранного пространства, каковы хорошие подходы для размещения облака тегов в пространстве? Вот две переменные, которыми я могу управлять:
- Размер шрифта (как абсолютный, так и градиентный)
- Количество слов
Все, что я могу придумать, требует итерации, например, установить верхнюю границу для количества слов, а затем использовать бинарный поиск по размеру шрифта до тех пор, пока слова не будут соответствовать области. Я бы предпочел аналитическое решение.
Одна сложность моей ситуации заключается в том, что облака имеют изменяемый размер, поэтому алгоритм должен уметь обрабатывать 100x100 пикселей или 1000x1000 пикселей достаточно хорошо.
Редактировать: я должен был сказать, что это для приложения с расширенным набором клиентов, а не для Интернета (отсюда и возможность изменения размера). Кроме того, я надеялся услышать что-то вроде: «Никто никогда не просматривает более 100 слов в облаке тегов, поэтому не беспокойтесь о их отображении».