Exemples de fractales dessinées avec LaTeX et TikZ/pgf

par Damien Mégy   latex initiation ressources francais mathématiques

Table des matières

Cet article est en cours d'écriture, il est amené à contenir de plus en plus de fractales. Pour l'instant, il ne contient que le moulin à vent de Conway :

Moulin à vent de Conway

Moulin à vent de Conway

Le moulin à vent de Conway est un pavage fractal. Voir La page wikipédia.

La construction de fait récursivement en subdivisant un triangle en cinq sous-triangles semblables et en recommençant. Ci-dessous, les quatre premières itérations :

Moulin à vent de Conway pour n=0   Moulin à vent de Conway pour n=1   Moulin à vent de Conway pour n=2   Moulin à vent de Conway pour n=3

Le code est assez court. On définit une coommande \pinwheel qui prend un entier en paramètre. À chaque appel :

  • Si l'entier en paramètre est nul, la commande dessine un triangle.
  • Sinon, elle s'appelle récursivement cinq fois après avoir appliqué la similitude adéquate (rétrecissement et rotation).
\documentclass[tikz]{standalone}
\newcommand{\s}{1/sqrt(5)}
\newcommand{\ang}{atan(-1/2)}
\newcommand{\pinwheel}[1]{%
  \pgfmathparse{int(#1)}%
  \ifnum\pgfmathresult>0
    \foreach \dx/\dy/\rot/\xs/\ys in {
      1/2/\ang/\s/\s,
      6/2/{\ang+180}/\s/\s,
      1/2/\ang/\s/-\s,
      6/2/\ang/\s/-\s,
      2/4/{\ang+90}/-\s/\s
    } {
      \begin{scope}[shift={(\dx,\dy)}, rotate=\rot, xscale=\xs, yscale=\ys]
        \pinwheel{#1-1}
      \end{scope}
    }
  \else
    \pgfmathparse{rnd}%
    \definecolor{newColor}{rgb}{0,\pgfmathresult,\pgfmathresult}%
    \fill[newColor] (0,0) -- (0,5) -- (10,0) -- cycle;
  \fi
}

L'utilisateur choisit ensuite la profondeur récursive qu'il désire:

\begin{document}
\tikz{\pinwheel{5}}
\end{document}