\clearpage
\section{Dessin gradué}\label{DocDessinGradue}
\index{Jeux}\index[cle]{DessinGradue@\lstinline+\DessinGradue+}
La commande \lstinline!\DessinGradue!$^{\text{\faIcon{external-link-alt}}}$ permet de construire un \og dessin gradué\fg{} et sa solution :

\begin{quote}
  \mplibforcehmode
  \DessinGradue[LignesIdentiques=false,Echelle=0.5]{0/1/8,0/1/8,0/1/8,-1/1/8,0/1/8,0/1/8}{1/A/4,1/B/6,2/C/3,2/D/5,2/E/6,2/F/8,3/G/2,3/H/3,3/I/5,3/J/7,4/K/1,4/L/3,5/M/8,6/N/1,6/O/7}{polygone(A,B,D,C)§polygone(E,F,J,I)§polygone(G,H,L,K)§polygone(D,B,E,I)§polygone(J,F,M,O)§polygone(N,K,L,C,D,I,J,O)}
  \hfill
  \DessinGradue[LignesIdentiques=false,Solution,Echelle=0.5]{0/1/8,0/1/8,0/1/8,-1/1/8,0/1/8,0/1/8}{1/A/4,1/B/6,2/C/3,2/D/5,2/E/6,2/F/8,3/G/2,3/H/3,3/I/5,3/J/7,4/K/1,4/L/3,5/M/8,6/N/1,6/O/7}{polygone(A,B,D,C)§polygone(E,F,J,I)§polygone(G,H,L,K)§polygone(D,B,E,I)§polygone(J,F,M,O)§polygone(N,K,L,C,D,I,J,O)}
\end{quote}

Elle a la forme suivante :

\begin{lstlisting}[escapechar=!,aboveskip=1em,belowskip=0.5em]
  \DessinGradue[!\sffamily\textlangle clés\textrangle!]{a1/a2/a3,...}{b1/b2/b3,...}{c1§c2§...}
\end{lstlisting}
où
\begin{itemize}
\item\textlangle\lstinline!clés!\textrangle{} constituent un ensemble
  d'options pour paramétrer la commande (paramètres optionnels);
\item \lstinline!a1/a2/a3,...! indique les paramètres à utiliser en cas de segments gradués différents (la valeur minimale \lstinline!a1!, la valeur maximale \lstinline!a2!, le partage \lstinline!a3! du segment considéré);
\item \lstinline!b1/b2/b3,...! indique les positions des points considérés (la ligne \lstinline!b1!, le point \lstinline!b2!, la graduation \lstinline!b3!)
\item \lstinline!c1§c2§...! indique les différents tracés à effectuer sous la forme \lstinline!polygone!, \lstinline!chemin!, \lstinline!cercles!.
\end{itemize}
\begin{tcolorbox}[tikzcle]
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!Longueur|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!Pas|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!Debut|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!Fin|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!EcartVertical|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!EcartHorizontal|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!Style|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!GrandNombres|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!Droites|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!DemiDroites|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Lignes!Traces|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Echelle|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!Solution|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!LignesIdentiques|mygobble}
  \index[cle]{DessinGradue@\lstinline+\DessinGradue+!LignesIdentiques|mygobble}
\begin{Key}{Lignes}{10}
  modifie le nombre de segment gradués.
  \begin{SousDescription}
  \item[La clé \Cle{Longueur}]\DefautR{10}
    modifie la longueur des segments gradués. Elle est donnée en centimètre.
  \item[La clé \Cle{Pas}]\DefautR{10}
    modifie le nombre de parts. Les repères ainsi formés sont numérotées de 0 à $\text{\ttfamily{Pas}}+1$.
  \item[La clé \Cle{Debut}]\DefautR{-5}
    modifie la valeur initiale du segment gradué.
  \item[La clé \Cle{Fin}]\DefautR{5}
    modifie la valeur finale du segment gradué.
  \item[La clé \Cle{EcartVertical}]\DefautR{1.5}
    modifie l'espacement vertical entre les segments gradués. Elle est donnée en centimètre.
  \item[La clé \Cle{EcartHorizontal}]\DefautR{0}\PfCMAJ{0.99-k}
    modifie l'espacement horizontal entre un segment gradué et sa numérotation. Elle est donnée en centimètre.
  \item[La clé \Cle{Style}]\DefautR{\lstinline!\\normalsize!}\PfCMAJ{0.99-k}
    modifie le style de la numérotation des segments.
  \item[La clé \Cle{GrandNombres}]\DefautR{false}\PfCMAJ{0.99-k}
    ajoute la possibilité d'utiliser les grands nombres pour graduer les segments.
  \item[La clé \Cle{Droites}]\PfCMAJ{0.99-z-c}\DefautR{false}
    remplace les segments par des droites.
  \item[La clé \Cle{DemiDroites}]\PfCMAJ{0.99-z-c}\DefautR{false}
    remplace les segments par des demi-droites.
    \item[La clé \Cle{Traces}]\PfCMAJ{0.99-z-d}\DefautR{\{\}}
    permet d'ajouter des tracés à la construction finale.
  \end{SousDescription}
\end{Key}
\begin{Key}{Echelle}{1}
  modifie l'échelle {\em générale} du dessin produit. Elle est donnée sous la forme d'un nombre décimal positif.
\end{Key}
\begin{Key}{Solution}{false}
  affiche le dessin à obtenir.
\end{Key}
\begin{Key}{LignesIdentiques}{true}
  indique, lorsqu'elle est positionnée à \lstinline!false!, que les lignes utilisées sont différentes. Elle est incompatible avec la clé \Cle{Lignes}.
\end{Key}
Les clés \Cle{Debut}, \Cle{Fin}, \Cle{Pas} ne sont pas disponibles avec la clé \Cle{LignesIdentiques}.
\begin{Key}{OrigineVariable}{false}\PfCMAJ{0.99-z-e}
  indique, lorsqu'elle est positionnée à \lstinline!true!, que les lignes utilisées sont identiques mais que les valeurs de l'origine et de \og l'unité\fg{} ne sont pas positionnées aux extrémités du segment. Elle est incompatible avec la clé \Cle{Lignes} et la clé \Cle{LignesIdentiques}.
\end{Key}
Les clés \Cle{Debut} et \Cle{Fin} ne sont pas disponibles avec la clé \Cle{OrigineVariable}.
\end{tcolorbox}
\begin{Codes}[listing options={frame=,classoffset=1,deletekeywords={E},classoffset=0}]{0.5}{}
\DessinGradue[Lignes=11,Debut=0,Fin=12,Pas=12,Solution]{%
  % 1er argument inutile si les "lignes" sont identiques.
}{%
  % 2eme argument : on place les points. La notation 1/A/4 signifie que sur la ligne 1, on place le point A au repère numéroté 4.
  1/A/4,3/B/0,4/C/3,5/D/6,7/E/2,7/F/8,8/G/5,9/H/8,11/I/4%
}{%
  % 3eme argument : on définit les tracés nécessaires.
  polygone(A,B,D)§polygone(F,C,E,H)§polygone(E,I,G)%
}
\end{Codes}
\clearpage
\begin{Codes}[listing options={frame=,classoffset=1,deletekeywords={E},classoffset=0},listing side text]{0.475}{\small}
\DessinGradue[LignesIdentiques=false,Solution,Echelle=0.65]{%
  % 1er argument : pour chaque ligne à
  % tracer, on donne la valeur initiale,
  % la valeur finale et le nombre de parts.
  % Par exemple, 0/1/8 signifie que la
  % valeur initiale est 0, la valeur finale
  % est 1 et le segment est partagé
  % en 8 parts égales.
  0/1/8,0/1/8,0/1/8,-1/1/8,0/1/8,0/1/8}{%
  1/A/4,1/B/6,2/C/3,2/D/5,2/E/6,2/F/8,3/G/2,3/H/3,3/I/5,3/J/7,4/K/1,4/L/3,5/M/8,6/N/1,6/O/7%
}{%
  polygone(A,B,D,C)§polygone(E,F,J,I)§polygone(G,H,L,K)§polygone(D,B,E,I)
  §polygone(J,F,M,O)§polygone(N,K,L,C,D,I,J,O)%
}
\end{Codes}
%\clearpage
\begin{Codes}[listing side text,listing options={frame=,classoffset=1,deletekeywords={E},classoffset=0}]{0.5}{\footnotesize}
\DessinGradue[LignesIdentiques=false,Echelle=0.65,EcartVertical=1,Solution]{%
  10/40/15,0/1/15,0/5/15,0/15/15,0/15/15,
  20/80/15,50/150/15,0/10/15,100/130/15,
  0/6/15,0/100/15,0/30/15,0/3/15,0/500/15}{%
  1/A/8,1/B/9,1/C/12,2/D/7,2/E/8,2/F/9,2/G/10,2/H/11,2/I/12,2/J/13,3/K/7,3/L/8,3/M/9,3/N/13,3/O/14,4/P/8,4/Q/9,4/R/10,4/S/13,4/T/14,5/U/11,5/V/12,5/W/13,6/X/8,6/Y/12,7/Z/3,7/A'/7,7/B'/9,7/C'/11,8/D'/5,8/E'/6,8/F'/9,9/G'/3,9/H'/7,9/I'/8,10/J'/1,10/K'/2,10/L'/8,11/M'/5,11/N'/8,12/O'/8,12/P'/11,13/Q'/1,13/R'/2,13/S'/3,13/T'/5,13/U'/6,13/V'/7,13/W'/8,13/X'/9,14/Y'/0,14/Z'/1,14/A''/4,14/B''/8,14/C''/9}{%
  chemin(F,E,L,M,P,K,D,A,C,O,T,W,V,Y,C',P',C'',B'',V',O',W',X',B',X,A')§chemin(G,B)§chemin(H,J,N,I)§chemin(S,T)§chemin(Q,R,U,C')§chemin(D',E',L',N',U',T')§chemin(F',I',H')§chemin(U',V')§chemin(B'',A'',S',M',G',K',R',Z',Y',Q',J',Z,K)§chemin(Z,G')}
\end{Codes}
\begin{tcolorbox}[tikzRemarque]
  On peut placer jusqu'à 78 points.
\end{tcolorbox}
\begin{Codes}[,listing options={frame=,classoffset=1,deletekeywords={E},classoffset=0}]{0.475}{\footnotesize}
% D'après Virgine Lecapitaine.
\DessinGradue[Pas=16,LignesIdentiques=false,OrigineVariable,EcartVertical=0.6,Longueur=9,Solution,Traces={%
  fill polygone(Q,V,A');%
  fill polygone(R,X,B');%
  fill polygone(P',L',J',M',Q',S');
}]{%
  0/10/1/11,% Sur la ligne 1, le 0 sera sur la 10eme graduation et le 1 sur la 11eme.
  -1/5/0/6,% Sur la ligne 2, le -1 sera sur la 5eme graduation, et le 0 sur la 6eme.
  -5/9/0/14,-1/4/0/6,0/10/2/14,1/10/4/16,-20/11/-5/14,2/13/8/16,0.1/11/0.4/14,
  1/8/3/16,-3/4/-2/9,6/2/42/14,6/10/12/14,-48/5/-8/10,-4/2/3/16,-3/5/7/13%
}{%
  1/A/1,1/B/15,2/C/3,2/D/13,3/E/1,3/F/8,3/G/15,4/H/5,4/I/11,5/J/1,5/K/3,5/L/8,5/M/13,5/N/15,%
  6/P/2,6/Q/5,6/R/11,6/S/14,7/T/0,7/U/3,7/V/4,7/X/12,7/Y/13,7/Z/16,8/A'/6,8/B'/10,%
  9/C'/6,9/D'/8,9/E'/10,10/F'/5,10/G'/11,11/H'/1,11/I'/15,12/J'/8,%
  13/K'/5,13/L'/7,13/M'/9,13/N'/11,14/P'/7,14/Q'/9,15/R'/6,15/S'/8,15/T'/10,16/U'/8
}{%
  chemin(A,C,H,K,P,J,E,A),chemin(C,E,K),chemin(B,D,I,M,S,N,G,B),chemin(D,G,M),chemin(K,Q,L,H,F,I,L,R,M),%
  chemin(Q,U,F',K',H',T,P,U),chemin(T,U,H',F'),chemin(R,Y,G',N',I',Z,S,Y),chemin(Z,Y,I',G'),%
  chemin(L,A',C',D',E',B',L),chemin(V,A',D',B',X),chemin(Q,V,F',C'),chemin(R,X,G',E'),chemin(F',D',G'),%
  chemin(P',L',J',M',Q'),chemin(N',T',U',R',K'),chemin(L',F',J'),chemin(J',G',M'),chemin(R',P',S',Q',T')
}
\end{Codes}
\clearpage
Voici un dernier exemple, avec énoncé, tiré du site de l'APMEP : \url{www.apmep.fr}.

Pour découvrir le dessin codé, tu dois placer  les points $A$, $B$, $C$\dots{} selon les indications  du tableau ci-dessous. Par exemple, le point $A$ est sur la première ligne et son abscisse est \num{0.5}. Repère bien d'abord les extrémités des graduations qui changent à chaque ligne. Quand tu auras placé tous les points, relie-les en suivant les instructions données sous le dessin.
\begin{center}
  \setlength{\tabcolsep}{0.5\tabcolsep}
  \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|}
    \hline
      Ligne&Point&Abscisse&Ligne&Point&Abscisse&Ligne&Point&Abscisse&Ligne&Point&Abscisse\\
      \hline
      1&A&0,5&4&J&400&6&S&13&9&B$'$&45\\
      \hline
      2&B&0,02&4&K&600&6&T&13,5&10&C$'$&0,6\\
      \hline
      2&C&0,04&4&L&700&6&U&14&10&D$'$&0,8\\
            \hline
      2&D&0,06&4&M&800&7&V&24&12&E$'$&11\\
            \hline
      2&E&0,08&5&N&8&7&W&36&13&F$'$&160\\
            \hline
      3&F&1,2&5&O&72&8&X&0,02&13&G$'$&170\\
            \hline
      3&G&1,8&6&P&11&8&Y&0,04&15&H$'$&0,5\\
            \hline
      4&H&200&6&Q&11,5&8&Z&0,06&17&I$'$&0,05\\
            \hline
      4&I&300&6&R&12&8&A$'$&0,08&&&\\
            \hline
    \end{tabular}
  \end{center}
%\begin{comment}
  \begin{multicols}{2}
    \begin{center}
          \DessinGradue[LignesIdentiques=false,Echelle=0.45]{%
      0/1/10,0/0.1/10,0/3/10,0/1000/10,0/80/10,10/15/10,0/60/10,0/0.1/10,40/50/10,0/2/10,0/30/10,0/22/10,100/200/10,0/500/10,0/1/10,0/22/10,0/0.1/10}{
      1/A/5,4/J/4,6/S/6,9/B'/5,
      2/B/2,4/K/6,6/T/7,10/C'/3,
      2/C/4,4/L/7,6/U/8,10/D'/4,
      2/D/6,4/M/8,7/V/4,12/E'/5,
      2/E/8,5/N/1,7/W/6,13/F'/6,
      3/F/4,5/O/9,8/X/2,13/G'/7,
      3/G/6,6/P/2,8/Y/4,15/H'/5,
      4/H/2,6/Q/3.5,8/Z/6,17/I'/5,
      4/I/3,6/R/4,8/A'/8}{%
      polygone(A,D,Z,B',Y,C)§polygone(N,H,M,O,U,P)§chemin(F,B,I)§chemin(G,E,L)§chemin(Q,X,V)§chemin(T,A',W)§chemin(J,S)§chemin(K,R)§chemin(B',E',C',D',E',H',F',G',H',I')}
    \end{center}

    \begin{center}
      \DessinGradue[LignesIdentiques=false,Echelle=0.45,Solution]{%
      0/1/10,0/0.1/10,0/3/10,0/1000/10,0/80/10,10/15/10,0/60/10,0/0.1/10,40/50/10,0/2/10,0/30/10,0/22/10,100/200/10,0/500/10,0/1/10,0/22/10,0/0.1/10}{
      1/A/5,4/J/4,6/S/6,9/B'/5,
      2/B/2,4/K/6,6/T/7,10/C'/3,
      2/C/4,4/L/7,6/U/8,10/D'/4,
      2/D/6,4/M/8,7/V/4,12/E'/5,
      2/E/8,5/N/1,7/W/6,13/F'/6,
      3/F/4,5/O/9,8/X/2,13/G'/7,
      3/G/6,6/P/2,8/Y/4,15/H'/5,
      4/H/2,6/Q/3.5,8/Z/6,17/I'/5,
      4/I/3,6/R/4,8/A'/8}{%
      polygone(A,D,Z,B',Y,C)§polygone(N,H,M,O,U,P)§chemin(F,B,I)§chemin(G,E,L)§chemin(Q,X,V)§chemin(T,A',W)§chemin(J,S)§chemin(K,R)§chemin(B',E',C',D',E',H',F',G',H',I')}
    \end{center}
  \end{multicols}
%  \end{comment}