Алгоритм для реализации облака слова как Wordle

198
задан Jason Sundram 23 May 2016 в 05:29
поделиться

3 ответа

Я создатель Wordle. Вот как на самом деле работает Wordle:

Подсчитайте слова, выбросьте скучные слова и отсортируйте их по количеству в порядке убывания. Оставьте верхние N слов вместо некоторых N. Присвойте каждому слову размер шрифта, пропорциональный его количеству. Сгенерируйте форму Java2D для каждого слова с помощью API Java2D.

Каждое слово «хочет» где-то быть, например, «в некоторой случайной позиции x в центре вертикали». В порядке убывания частоты сделайте это для каждого слова:

place the word where it wants to be
while it intersects any of the previously placed words
    move it one step along an ever-increasing spiral

Вот и все. Сложность заключается в эффективном выполнении проверки пересечений, для чего я использую кэширование последнего попадания, иерархические ограничивающие рамки и пространственный индекс дерева квадрантов (обо всем этом вы можете узнать больше, если прилежно

Редактировать: Как заметил Рето Эберсольд, теперь есть глава в книге, в свободном доступе, который охватывает ту же территорию: Красивая визуализация, Глава 3: Wordle

463
ответ дан 23 November 2019 в 05:10
поделиться

http://code.google.com/apis/visualization/documentation/gallery.html

Выезд облачная визуализация слова. Не столь необычный как wordle.net, но очень легкий добавить к Вашему сайту.

10
ответ дан Wavel 23 November 2019 в 05:10
поделиться

Я реализовал алгоритм, описанный Джонатаном Фейнбергом, с использованием python для создания облака тегов. Это далеко от красивых облаков wordle.net, но дает представление о том, как это можно сделать.

Вы можете найти проект здесь .

33
ответ дан 23 November 2019 в 05:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: