\index[cle]{Pavage@\lstinline+\Pavage+}
La commande \lstinline!\Pavage! permet d'obtenir des pavages tels que :
\begin{center}
  \Pavage[Niveau=2] \Pavage[Escher,Niveau=4,Lignes=1,Colonnes=1,Rayon=0.75] \Pavage[Quadrilatere,Lignes=1,Colonnes=3]
\end{center}
Elle a la forme suivante :
\begin{lstlisting}[escapechar=!,belowskip=0pt]
  \Pavage[!\sffamily\textlangle clés{\sffamily\textrangle}!]
\end{lstlisting}
où {\sffamily\textlangle\lstinline!clés!{\sffamily\textrangle}} constituent un ensemble
  d'options (paramètres optionnels) pour paramétrer la commande.
  \begin{tcolorbox}[tikzcle]
    \index[cle]{Pavage@\lstinline+\Pavage+!Epaisseur|mygobble}
    \begin{Key}{Epaisseur}{1}
      modifie l'épaisseur de tracé du cadre entourant les pavages.
    \end{Key}
  \end{tcolorbox}
\subsection*{Pavages par défaut\footnote{La technique de pavage est détaillée dans le numéro 272 d'avril 2000 de \og Pour la science\fg.}}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Pavage@\lstinline+\Pavage+!Niveau|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Couleur|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Numerotation|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Numerotation!Complete|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!ArrierePlan|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Traces|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Motif|mygobble}
\begin{Key}{Niveau}{3}
  modifie le niveau de déploiement du pavage.
\end{Key}
\begin{Key}{Couleur}{orange}
  modifie la couleur de remplissage des motifs.
\end{Key}
\begin{Key}{Numerotation}{false}
  affiche la numérotation du motif utilisé pour le pavage.
  \begin{SousDescription}
    \item[La clé \Cle{Complete}]\DefautR{false} affiche la numérotation sur l'ensemble des éléments constituant le pavage.
  \end{SousDescription}
\end{Key}
\begin{Key}{ArrierePlan}{-}
  colorie le fond de l'image dans la couleur indiquée.
\end{Key}
\begin{Key}{Traces}{-}
  permet d'ajouter des tracés au pavage.
\end{Key}
\begin{Key}{Motif}{\{u*(0,0)..u*(0.25,.1)..u*(0.5,0.7)..u*(1,1);\}}
  modifie le motif de base sur lequel est construit le pavage.
  \begin{tcolorbox}[tikzRemarque]
    C'est un chemin \MP{} reliant le point (0,0) au point (1cm,1cm).
  \end{tcolorbox}
\end{Key}
\end{tcolorbox}
\clearpage
\begin{Codes}[listing side text]{0.6}{}
\Pavage
\end{Codes}
\begin{Codes}[listing side text]{0.6}{}
\Pavage[Niveau=2]
\end{Codes}
\begin{Exemple}[]{}
\Pavage[Niveau=1,Couleur=Cornsilk]

\Pavage[Niveau=2,Numerotation]
\end{Exemple}
\begin{Codes}[]{0.4}{\small}
\Pavage[Niveau=2,Numerotation,Complete]
\end{Codes}

\begin{Exemple}[]{}
\Pavage[Niveau=2,ArrierePlan=LightSteelBlue]
\end{Exemple}

\begin{Codes}[listing side text]{0.5}{}
% À chaque élément du pavage,
% sont associés deux points K et M.
% Ils sont donc numérotés K1 et M12
% par exemple.
\Pavage[Numerotation,Traces={drawarrow K1--M12 withpen pencircle scaled 2;}]
\end{Codes}

\begin{minipage}{0.1\linewidth}
  \Pavage[Demo,Motif={(0,0)--u*(1,1);}]
\end{minipage}
\hfill
\begin{minipage}{0.6\linewidth}
  \begin{Codes}[listing only]{0.4}{}
\Pavage[Niveau=2,Motif={(0,0)--u*(1,1);}]
  \end{Codes}
\end{minipage}
\hfill
\begin{minipage}{0.27\linewidth}
  \begin{center}
    \Pavage[Niveau=2,Motif={(0,0)--u*(1,1);}]
  \end{center}
\end{minipage}
\begin{Exemple}[]{}
\Pavage[Niveau=2,Motif={(0,0)--u*(0.75,0.25)--u*(1,1);}]

\Pavage[Niveau=2,Motif={(0,0)..u*(0.75,0.25)..u*(1,1);}]
\end{Exemple}

\begin{minipage}{0.1\linewidth}
  \Pavage[Demo,Motif={(0,0)--u*(0.25,0.75)--u*(0.75,0.25)--u*(1,1);}]
\end{minipage}
\hfill
\begin{minipage}{0.6\linewidth}
  \begin{Codes}[listing only]{0.4}{}
\Pavage[Niveau=2,Motif={(0,0)--u*(0.25,0.75)--u*(0.75,0.25)--u*(1,1);}]
  \end{Codes}
\end{minipage}
\hfill
\begin{minipage}{0.27\linewidth}
  \begin{center}
    \Pavage[Niveau=2,Motif={(0,0)--u*(0.25,0.75)--u*(0.75,0.25)--u*(1,1);}]
  \end{center}
\end{minipage}
\begin{Exemple}[]{}
\Pavage[Niveau=2,Motif={(0,0){dir90}..{dir45}u*(0.5,0.5)--u*(1,1);}]
  
\Pavage[Niveau=2,Motif={(0,0){dir 90}..u*(0.25,0.75)..u*(0.75,0.25)..{dir 90}u*(1,1);}]
\end{Exemple}
\clearpage
\subsection*{Pavages basés sur un quadrilatère}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Pavage@\lstinline+\Pavage+!Quadrilatere|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Quadrilatere!Lignes|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Quadrilatere!Colonnes|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Quadrilatere!Motif|mygobble}
\begin{Key}{Quadrilatere}{false}
  utilise un quadrilatère comme motif de base pour réaliser le pavage.
  \begin{SousDescription}
  \item[La clé \Cle{Lignes}]\DefautR{1} modifie le nombre de lignes du pavage.
  \item[La clé \Cle{Colonnes}]\DefautR{1} modifie le nombre de colonnes du pavage.
  \item[La clé \Cle{Motif}]\DefautR{\{(0,0)--u*(1,-2)--u*(2,0.5)--u*(0.75,1)--cycle;\}}
    modifie le quadrilatère de base du pavage.
  \item[Les clés \Cle{Numerotation} et \Cle{Traces}] sont également disponibles.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{tcolorbox}[tikzRemarque]
  \`A cet effet, la commande \lstinline!\Pavage! définit, en appelant \lstinline!n! le numéro du polygone considéré :
  \begin{itemize}
  \item les points de chaque quadrilatère sous la forme \lstinline!QuadA[n]!, \lstinline!QuadB[n]!, \lstinline!QuadC[n]!, \lstinline!QuadD[n]!;
  \item et le quadrilatère lui-même sous la forme \lstinline!Maille[n]!.
  \end{itemize}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.4}{}
\Pavage[Quadrilatere,Lignes=1,Colonnes=1]
\end{Codes}
\begin{Codes}[listing side text]{0.4}{}
\Pavage[%
Quadrilatere,
Numerotation,
Motif={(0,0)--u*(2,-1)--u*(1.5,1)--u*(0.5,0.5)--cycle;},
Colonnes=4,Lignes=4,
Traces={
  fill Maille[16] withcolor LightSteelBlue;
  draw Maille[16] withpen pencircle scaled 2;
  drawarrow QuadA[7]--QuadD[8] withcolor red;}
]
\end{Codes}
\clearpage
\subsection*{Pavages sous forme de réseau}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Pavage@\lstinline+\Pavage+!Reseau|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Reseau!Basei|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Reseau!Basej|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Reseau!Motif|mygobble}
\begin{Key}{Reseau}{false}
  construit un pavage en traçant un réseau d'un motif prédéfini.
  \begin{SousDescription}
  \item[La clé \Cle{Basei}]\DefautR{\{u*(0.75,0)\}} modifie le vecteur $\overrightarrow{\imath}$ de déplacement du motif.
  \item[La clé \Cle{Basej}]\DefautR{\{u*(0,0.5)\}} modifie le vecteur $\overrightarrow{\jmath}$ de déplacement du motif.
  \item[La clé \Cle{Motif}]\DefautR{\{u*(0,0)--u*(0.75,0)--u*(1,0.5)--u*(0.25,0.5)--cycle;\}}
    modifie le motif de base du pavage.
  \item[Les clés \Cle{Lignes}, \Cle{Colonnes}, \Cle{Numerotation} et \Cle{Traces}] sont également disponibles.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{tcolorbox}[tikzRemarque]
  \`A cet effet, la commande \lstinline!\Pavage! définit, en appelant \lstinline!n! le numéro du polygone considéré :
  \begin{itemize}
  \item les points de chaque quadrilatère sous la forme \lstinline!M[n][1]!, \lstinline!M[n][2]!, \lstinline!M[n][3]!\dots
  \item et le polygone lui-même sous la forme \lstinline!Maille[n]!.
  \end{itemize}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.4}{}
\Pavage[%
Reseau,
Motif={(0,0)--u*(0.5,0)--u*(0.5,-0.5)--u*(1,-0.5)--u*(1,0)--u*(1.5,0)--u*(1.5,0.5)--u*(1,0.5)--u*(1,1)--u*(0.5,1)--u*(0.5,0.5)--u*(0,0.5)--cycle},
Basei={u*(1,-0.5)},
Basej={u*(0.5,1)},
Numerotation,
Traces={%
  fill Maille[10] withcolor Olive;
  draw Maille[10] withpen pencircle scaled 3;
  drawarrow M[2][4]--M[5][5] withcolor Crimson;}
]
\end{Codes}
\clearpage
\subsection*{Pavages à l'aide d'un même type de polygones réguliers}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Pavage@\lstinline+\Pavage+!Regulier|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Regulier!Cote|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Regulier!Niveau|mygobble}
\begin{Key}{Regulier}{false}
  construit un pavage en utilisant un polygone régulier.
  \begin{SousDescription}
  \item[La clé \Cle{Niveau}]\DefautR{3} modifie le nombre de côtés du polygone régulier. Les seules valeurs possibles sont 3; 4 et 6.
  \item[La clé \Cle{Cote}]\DefautR{1} modifie la longueur des côtés du polygone régulier choisi. Elle est donnée en centimètre.
  \item[Les clés \Cle{Lignes}, \Cle{Colonnes}, \Cle{Numerotation} et \Cle{Traces}] sont également disponibles.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{tcolorbox}[tikzRemarque]
  \`A cet effet, la commande \lstinline!\Pavage! définit, en appelant \lstinline!n! le numéro du polygone considéré :
  \begin{itemize}
  \item les points de chaque triangle sous la forme \lstinline!Tria[n]!, \lstinline!Trib[n]!, \lstinline!Tric[n]!;
  \item les points de chaque carré sous la forme \lstinline!Cara[n]!, \lstinline!Carb[n]!, \lstinline!Carc[n]!, \lstinline!Card[n]!;
      \item les points de chaque hexagone sous la forme \lstinline!Hexa[n]!, \lstinline!Hexb[n]!, \lstinline!Hexc[n]!, \lstinline!Hexd[n]!, \lstinline!Hexe[n]!, \lstinline!Hexf[n]!;
  \item et le polygone régulier lui-même sous la forme \lstinline!Maille[n]!.
  \end{itemize}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.35}{}
\Pavage[
Regulier,
Cote=0.5,
Niveau=6,
Numerotation,
Lignes=4,
Colonnes=4,
Traces={%
  draw Maille[9] withpen pencircle scaled 3;
  drawarrow Hexa[4]--Hexd[12] withcolor Crimson;}
]
\end{Codes}
\clearpage
\subsection*{Pavages d'Escher}
Ces pavages utilisent les triangles équilatéraux, les carrés ou les hexagones réguliers comme base. Décrivons le cas du triangle équilatéral.

\dispo{1}{%
  \begin{Geometrie}[CoinBG={u*(-10,-10)}]
    pair O[],I[],A;
    A=(0,0);
    path cc;
    cc=cercles(A,3u);
    trace cc dashed evenly withcolor 0.7white;
    O1=pointarc(cc,0);
    O2=pointarc(cc,120);
    O3=pointarc(cc,240);
    trace polygone(O1,O2,O3);
    I1=0.7[O2,O1]+50*unitvector((O1-O2) rotated 90);
    I2=rotation(I1,O2,-120);
    I3=rotation(I2,O3,-120);
    marque_p:="croix";
    marque_s:=marque_s/3;
    pointe(O1,O2,O3,I1,I2,I3);
    trace polygone(O1,I1,O2,I2,O3,I3) withpen pencircle scaled 1.5 withcolor Crimson;
    label.rt(btex $O_1$ etex,O1);
    label.urt(btex $I_1$ etex,I1);
    label.ulft(btex $O_2$ etex,O2);
    label.lft(btex $I_2$ etex,I2);
    label.llft(btex $O_3$ etex,O3);
    label.lrt(btex $I_3$ etex,I3);
    drawoptions(withcolor 0.7white);
    trace cotationmil(A,O1,0,20,btex \footnotesize\Cle{Rayon} etex);
    trace cotationmil(0.7[O2,O1],I1,0,20,btex \footnotesize\Cle{Ecart} etex);
    trace cotationmil(O2,0.7[O2,O1],-5mm,20,btex \footnotesize\Cle{Position} etex);
    label.lrt(btex M etex,0.7[O2,O1]);
  \end{Geometrie}
}{Considérons un triangle équilatéral $O_1O_2O_3$. Choissisons un point $ I_1$ quelconque. On définit :
  \begin{itemize}
  \item le point $I_2$ comme image du point $I_1$ par la rotation de centre $O_2$ et d'angle $-\dfrac{2\pi}3$;
  \item le point $I_3$ comme image du point $I_2$ par la rotation de centre $O_3$ et d'angle $-\dfrac{2\pi}3$.
  \end{itemize}
  Le motif de base est le polygone $O_1I_1O_2I_2O_3I_3$ auquel on applique ensuite deux rotations de centre $O_1$, une d'angle $\dfrac{2\pi}{3}$, une d'angle $-\dfrac{2\pi}{3}$.
}
\begin{tcolorbox}[tikzcle]
  \index[cle]{Pavage@\lstinline+\Pavage+!Escher|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Escher!Rayon|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Escher!Position|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Escher!Ecart|mygobble}
  \begin{Key}{Escher}{false}
  construit un pavage en utilisant un polygone régulier.
  \begin{SousDescription}
    \item[La clé \Cle{Rayon}]\Defaut{1} modifie le rayon du cercle de base.
    \item[Les clés \Cle{Position}/\Cle{Ecart}]\Defaut{0.5/10} modifient la position du point $I_1$ de base du pavage.
      \begin{tcolorbox}[tikzRemarque]
        La clé \Cle{Position} indique la position du point $M$ sur la droite $(O_1O_2)$ : une valeur \lstinline!0.5! indique le milieu du segment $[O_2O_1]$; une valeur \lstinline!2! indique le symétrique de $O_2$ par rapport à $O_1$.
        \\La clé \Cle{Ecart} indique que le vecteur $\overrightarrow{MI_1}$ est égal à $\text{\Cle{Ecart}}\times\overrightarrow{u}$ où $\overrightarrow{u}$ est le vecteur unitaire perpendiculaire au vecteur $\overrightarrow{O_2O_1}$.
        \begin{center}
          \begin{tabular}{ccc}
            \Cle{Position} : \lstinline!0.1!&\Cle{Position} : \lstinline!0.5!&\Cle{Position} : \lstinline!0.9!\\
            \Cle{Ecart} : \lstinline!-10!&\Cle{Ecart} : \lstinline!10!&\Cle{Ecart} : \lstinline!20!\\
            \begin{Geometrie}[CoinBG={u*(-10,-10)}]
    pair O[],I[],A;
    A=(0,0);
    u:=5mm;
    path cc;
    cc=cercles(A,3u);
    trace cc dashed evenly withcolor 0.7white;
    O1=pointarc(cc,0);
    O2=pointarc(cc,120);
    O3=pointarc(cc,240);
    trace polygone(O1,O2,O3) dashed evenly withcolor 0.7white;
    trace segment(O2,O1);
    I1=0.1[O2,O1]-10*unitvector((O1-O2) rotated 90);
    I2=rotation(I1,O2,-120);
    I3=rotation(I2,O3,-120);
    marque_p:="croix";
    marque_s:=marque_s/3;
    pointe(O1,O2,O3,I1,I2,I3,0.1[O2,O1]);
    trace polygone(O1,I1,O2,I2,O3,I3) withpen pencircle scaled 1.5 withcolor Crimson;
    label.rt(btex $O_1$ etex,O1);
    label.bot(btex $I_1$ etex,I1);
    label.top(btex $O_2$ etex,O2);
%    label.lft(btex $I_2$ etex,I2);
%    label.llft(btex $O_3$ etex,O3);
%    label.lrt(btex $I_3$ etex,I3);
    drawoptions(withcolor 0.7white);
%    trace cotationmil(A,O1,0,20,btex \footnotesize\Cle{Rayon} etex);
%    trace cotationmil(0.7[O2,O1],I1,0,20,btex \footnotesize\Cle{Ecart} etex);
%    trace cotationmil(O2,0.7[O2,O1],-5mm,20,btex \footnotesize\Cle{Position} etex);
    label.urt(btex M etex,0.1[O2,O1]);
  \end{Geometrie}&            \begin{Geometrie}[CoinBG={u*(-10,-10)}]
    pair O[],I[],A;
    A=(0,0);
    u:=5mm;
    path cc;
    cc=cercles(A,3u);
    trace cc dashed evenly withcolor 0.7white;
    O1=pointarc(cc,0);
    O2=pointarc(cc,120);
    O3=pointarc(cc,240);
    trace polygone(O1,O2,O3);
    I1=0.5[O2,O1]+10*unitvector((O1-O2) rotated 90);
    I2=rotation(I1,O2,-120);
    I3=rotation(I2,O3,-120);
    marque_p:="croix";
    marque_s:=marque_s/3;
    pointe(O1,O2,O3,I1,I2,I3,0.5[O2,O1]);
    trace polygone(O1,I1,O2,I2,O3,I3) withpen pencircle scaled 1.5 withcolor Crimson;
    label.rt(btex $O_1$ etex,O1);
    label.urt(btex $I_1$ etex,I1);
    label.ulft(btex $O_2$ etex,O2);
%    label.lft(btex $I_2$ etex,I2);
%    label.llft(btex $O_3$ etex,O3);
%    label.lrt(btex $I_3$ etex,I3);
    drawoptions(withcolor 0.7white);
%    trace cotationmil(A,O1,0,20,btex \footnotesize\Cle{Rayon} etex);
%    trace cotationmil(0.7[O2,O1],I1,0,20,btex \footnotesize\Cle{Ecart} etex);
%    trace cotationmil(O2,0.7[O2,O1],-5mm,20,btex \footnotesize\Cle{Position} etex);
    label.bot(btex M etex,0.5[O2,O1]);
  \end{Geometrie}&
                               \begin{Geometrie}[CoinBG={u*(-10,-10)}]
    pair O[],I[],A;
    A=(0,0);
    u:=5mm;
    path cc;
    cc=cercles(A,3u);
    trace cc dashed evenly withcolor 0.7white;
    O1=pointarc(cc,0);
    O2=pointarc(cc,120);
    O3=pointarc(cc,240);
    trace polygone(O1,O2,O3);
    I1=0.9[O2,O1]+20*unitvector((O1-O2) rotated 90);
    I2=rotation(I1,O2,-120);
    I3=rotation(I2,O3,-120);
    marque_p:="croix";
    marque_s:=marque_s/3;
    pointe(O1,O2,O3,I1,I2,I3,0.9[O2,O1]);
    trace polygone(O1,I1,O2,I2,O3,I3) withpen pencircle scaled 1.5 withcolor Crimson;
    label.rt(btex $O_1$ etex,O1);
    label.urt(btex $I_1$ etex,I1);
    label.ulft(btex $O_2$ etex,O2);
%    label.lft(btex $I_2$ etex,I2);
%    label.llft(btex $O_3$ etex,O3);
%    label.lrt(btex $I_3$ etex,I3);
    drawoptions(withcolor 0.7white);
%    trace cotationmil(A,O1,0,20,btex \footnotesize\Cle{Rayon} etex);
%    trace cotationmil(0.7[O2,O1],I1,0,20,btex \footnotesize\Cle{Ecart} etex);
%    trace cotationmil(O2,0.7[O2,O1],-5mm,20,btex \footnotesize\Cle{Position} etex);
    label.top(btex M etex,0.9[O2,O1]);
    \end{Geometrie}
          \end{tabular}
        \end{center}
      \end{tcolorbox}
      \item[Les clés \Cle{Niveau}, \Cle{Lignes}, \Cle{Colonnes}, \Cle{Numerotation} et \Cle{Traces}] sont également disponibles.
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{tcolorbox}[tikzRemarque]
  \`A cet effet, la commande \lstinline!\Pavage! définit, en appelant \lstinline!n! le numéro du polygone considéré :
  \begin{itemize}
  \item les points de chaque polygone sous la forme \lstinline!PointE[n][1]!, \lstinline!PointE[n][2]!, \lstinline!PointE[n][3]!\dots
  \item et le polygone régulier lui-même sous la forme \lstinline!Maille[n]!.
  \end{itemize}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.35}{\footnotesize}
\Pavage[Escher,
Niveau=3,
Lignes=1,
Colonnes=2,
Ecart=5,
Position=0.2,
Rayon=0.5,
Numerotation,
Traces={
  fill Maille[5] withcolor Cornsilk;
  draw Maille[5] withpen pencircle scaled 2;
  drawarrow PointE[7][1]--PointE[7][2]--PointE[7][3]
   withpen pencircle scaled 2 withcolor red;
  }
]
\end{Codes}
\begin{Codes}[listing side text]{0.5}{\footnotesize}
\Pavage[Escher,
Niveau=4,
Lignes=1,
Colonnes=2,
Ecart=5,
Position=0.6,
Rayon=0.5,
Numerotation,
Traces={
  fill Maille[5] withcolor Cornsilk;
  draw Maille[5] withpen pencircle scaled 2;
  drawarrow PointE[7][1]--PointE[7][2]--PointE[7][3]
   withpen pencircle scaled 2 withcolor red;
  }
]
\end{Codes}
\begin{Codes}[listing side text]{0.35}{}
\Pavage[Escher,
Niveau=6,
Lignes=1,
Colonnes=2,
Ecart=-10,
Position=0.8,
Rayon=0.5,
Traces={
  fill Maille[5] withcolor Cornsilk;
  draw Maille[5] withpen pencircle scaled 2;
  fill Maille[33] withcolor Cornsilk;
  draw Maille[33] withpen pencircle scaled 2;
  drawarrow PointE[5][1]--PointE[33][1]
  withpen pencircle scaled 2 withcolor red;
  }
]
\end{Codes}
\clearpage
\subsection*{Cas des briques {\sc Einstein}}
Ces briques permettent un pavage apériodique du plan. Aussi, le package \lstinline!ProfCollege! ne propose pas de clés prêtes à l'emploi\dots{} Néanmois, les briques sont disponibles et on peut construire quelques motifs\dots
\begin{tcolorbox}[tikzcle]
  \index[cle]{Pavage@\lstinline+\Pavage+!Einstein|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Einstein!Rayon|mygobble}
  \index[cle]{Pavage@\lstinline+\Pavage+!Einstein!Vampire|mygobble}
  \begin{Key}{Einstein}{false}
  permet d'utiliser une des deux briques possibles pour des constructions \og {\em manuelles}\fg.
  \begin{SousDescription}
    \item[La clé \Cle{Vampire}]\DefautR{false} permet d'utiliser la tuile \og Vampire\fg{} à la place de la tuile \og Hat\fg.
    \item[La clé \Cle{Rayon}] est également disponible. 
  \end{SousDescription}
\end{Key}
\end{tcolorbox}
\begin{Codes}[listing side text]{0.4}{\small}
\Pavage[Einstein,Rayon=3,Traces={
  draw Hat withpen pencircle scaled 2;
  dotlabel.top(TEX("$O_1$"),O1);
  dotlabel.lft(TEX("$O_2$"),O2);
  dotlabel.lrt(TEX("$O_3$"),O3);
  %O4 centre du cercle circonscrit à O1O2O3
  dotlabel.top(TEX("$O_4$"),O4);
}%
]
\end{Codes}
\begin{Codes}[listing side text]{0.5}{}
\Pavage[Einstein,Rayon=2,Traces={
  currentpicture:=nullpicture;
  for k=0 upto 5:
  fill rotation(Hat,O5,30+k*60) withcolor Coul[k+1];
  trace rotation(Hat,O5,30+k*60) withpen pencircle scaled 2;
  endfor;
}]
\end{Codes}
\begin{Codes}[listing side text]{0.4}{}
\Pavage[Einstein,Rayon=2,Traces={
  pair G;
  G-O3=O4-O1;
  path HatA,HatB;
  HatA=rotation(Hat,O4,60);
  HatB=(rotation(symetrie(Hat,O4,O5),O4,60) shifted(O3-O2));
  currentpicture:=nullpicture;
  trace hachurage(HatB,60,0.2,0) withcolor Coul2;
  trace hachurage(rotation(HatB,G,-120),60,0.2,0) withcolor Coul4;
  trace hachurage(rotation(HatB,G,-2*120),60,0.2,0) withcolor Coul6;
  fill HatA withcolor Coul1;
  trace HatA withpen pencircle scaled 2;
  trace HatB withpen pencircle scaled 2;
  fill rotation(HatA,G,-120) withcolor Coul3;
  fill rotation(HatA,G,-2*120) withcolor Coul5;
  trace rotation(HatA,G,-120) withpen pencircle scaled 2;
  trace rotation(HatA,G,-2*120) withpen pencircle scaled 2;
  trace rotation(HatB,G,-120) withpen pencircle scaled 2;
  trace rotation(HatB,G,-2*120) withpen pencircle scaled 2;
}]
\end{Codes}