Je suis le créateur de Wordle. Voici comment Wordle fonctionne réellement :
Comptez les mots, éliminez les mots ennuyeux et triez-les en fonction de leur nombre, en ordre décroissant. Conservez les N premiers mots pendant un certain N. Attribuez à chaque mot une taille de police proportionnelle à son nombre. Générer une forme Java2D pour chaque mot, en utilisant l'API Java2D.
Chaque mot "veut" être quelque part, par exemple "à une position x aléatoire dans le centre vertical". Par ordre décroissant de fréquence, faites-le pour chaque mot :
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
C'est ça. Le site dur La partie la plus importante consiste à effectuer les tests d'intersection de manière efficace, ce pour quoi j'utilise la mise en cache du dernier résultat, des boîtes de délimitation hiérarchiques et un index spatial en forme de quadruple arbre (toutes ces choses peuvent être apprises en faisant des recherches assidues sur Google).
Edit : Comme Reto Aebersold l'a signalé, il existe maintenant un chapitre de livre, librement disponible, qui couvre ce même territoire : Belle visualisation, chapitre 3 : Wordle
1 votes
Il existe une autre solution, basée sur le traitement d'images. ici . Pas très rapide, mais très flexible et bon pour l'expérimentation. (Il y a une implémentation complète donnée en Mathematica).
2 votes
J'ai créé mon propre algorithme (assez simple) et en a parlé sur son blog . Il est écrit en Python et devrait être facile à personnaliser. J'ai essayé de le rendre à moitié efficace. ! Entrez la description de l'image ici
4 votes
J'ai vraiment aimé la façon dont vous avez posé cette question ! +1
0 votes
Les liens sont-ils morts ?