.. _chap-tpNuagesMots: ################################################################################ TP++ - Nuages de mots ################################################################################ (les TP++ sont des compléments à l'enseignement de base et ne font pas partie des séances de travaux pratiques avec encadrement) Références externes utiles : * `Téléchargement et documentation Processing `_ Exercice 1 - Utilisation de Wordle ======================================== Wordle produit des *tagclouds* très intéressants et, avec la variété des options offertes, c'est un bon moyen d'étudier l'impact des choix graphiques sur la lisibilité (options *layout* et rubrique *advanced*). Produire un *tagcloud* comme celui ci-dessous, à partir de Marivaux "le jeu de l'amour et du hasard" diffusé en ligne par l'ABU. .. image:: figures/wordle.png :width: 60 % :alt: Exemple Wordle :align: center Le site de Wordle : `http://www.wordle.net `_ Le site de l'ABU pour les textes : `http://abu.cnam.fr `_ .. ifconfig:: tpscala in ('public') .. admonition:: Correction Les programmes solutions pour ce TP se trouvent `ici `_. Exercice 2 - Fonctions de base pour la typographie avec Processing ==================================================================== Ecrire un programme produisant l'image ci-dessous. En particulier, on cherche comment obtenir la boîte englobante d'un texte écrit dans une police quelconque. .. image:: figures/typo.png :width: 60 % :alt: Typographie :align: center .. ifconfig:: tpscala in ('public') .. admonition:: Correction Les programmes solutions pour ce TP se trouvent `ici `_. Exercice 3 - Une heuristique pour la construction du nuage ============================================================ Comme Wordle, nous affecterons à chaque mot de la liste retenue une taille sur l'écran proportionnelle à la fréquence du mot. Reste à déterminer sa position à l'écran. On propose ici de partir d'une position au hasard. Il faudra ensuite tenter de résoudre les cas de chevauchement. #. Quelle est la condition pour que 2 boîtes englobantes se chevauchent ? #. Que faire pour (le plus simplement possible) gérer les chevauchements ? #. Ecrire le programme final. Explorer son comportement en fonction de la taille de l'image et du nombre de tags. .. image:: figures/wordcloud.png :width: 60 % :alt: Tagcloud :align: center .. ifconfig:: tpscala in ('public') .. admonition:: Correction Les programmes solutions pour ce TP se trouvent `ici `_. Pour continuer ====================== Programmer des variantes ! Par exemple celle utilisée par Wikipédia : .. image:: figures/wordcloudWikipedia.png :width: 60 % :alt: Tagcloud Wikipedia :align: center .. ifconfig:: tpscala in ('public') .. admonition:: Correction Les programmes solutions pour ce TP se trouvent `ici `_.