Nous allons voir dans cet article une façon (parmi d’autres) de créer une liste aléatoire de n’importe quoi, et ce à l’aide du package pgffor.
Création d’une liste d’items
Après avoir fait appel à l’extension pgffor, on peut déclarer une liste ainsi:
\pgfmathdeclarerandomlist{<nom de la liste>}{% {item1}% {item2}% {item3}% ... {itemN}% }
Par exemple, pour créer une liste de couleurs aléatoires:
\pgfmathdeclarerandomlist{MyColors}{% {red}% {magenta}% {olive}% {brown}% {violet}% {gray}% {purple}% {yellow}% {orange}% {cyan}% {green}% {blue}% }
Utilisation de la liste
Imaginons que l’on souhaite dessiner plusieurs disques de couleurs différentes dans un cercle. Alors, on pourra faire ainsi :
\clip (5,5) circle (5cm); \foreach \i in {0,1,...,10}{ \foreach \j in {0,1,...,10}{ \pgfmathparse{10*rnd}\let\x\pgfmathresult \pgfmathparse{10*rnd}\let\y\pgfmathresult \pgfmathrandomitem{\RandomColor}{MyColors} \fill[\RandomColor] (\x,\y) circle (5mm); } }
Le résultat est alors :
On peut même ajouter un effet aux disques pour un rendu peut-être plus esthétique:
Un fichier source complet est disponible ci-dessous: