Des petits rapporteurs en TikZ



LMDBT - Le blog



Petits rapporteurs en TikZ

Rédigé le : 18/08/2024

Introduction

Aujourd’hui, je vous propose un petit bout de code en \(\LaTeX\) utilisant TikZ, qui permet de créer des pseudo-rapporteurs avec des graduations tous les 10°, mais sans les valeurs numériques.
Ce type de rapporteur peut être intéressant pour des exercices de géométrie en classe de 6e ou 5e.

Explication du Code

Le code (présenté en globalité en fin de billet) crée quatre figures, chacune représentant un angle avec son propre petit rapporteur. Chaque figure est générée à l’aide de TikZ, un package de dessin vectoriel sur \(\LaTeX\).

La structure : compteur et tableau

% Créer un nouveau compteur pour les numéros des exercices
\newcounter{numexemple}
\renewcommand{\thenumexemple}{\alph{numexemple}}
\setcounter{numexemple}{1}

\begin{tabular}{cc}
    ... % Contenu des dessins en TikZ
\end{tabular}

Dessin des petits rapporteurs

Chaque dessin est contenu dans un environnement TikZ et suit une structure similaire. Voici une explication détaillée d’un des dessins :

\begin{tikzpicture}[scale=0.375]
    % On affiche la lettre de l'exercice
    \node at (-5,5) {\thenumexemple\addtocounter{numexemple}{1}.};

    % On trace l'angle
    \coordinate (A) at (0,0);
    \coordinate (B) at (130:6);
    \coordinate (C) at (-6,0);
    \pic [fill, cyan!25, angle eccentricity=1.5, angle radius=0.5cm] {angle = B--A--C};

    % Trace les demi-droites
    \draw[thick] (A) -- (B);
    \draw[thick] (A) -- (C);

    % Demi-cercle extérieur (rapporteur)
    \draw [thick] (5,0) arc[start angle=0, end angle=180, radius=5cm];

    % Demi-cercle intérieur pour la bande
    \draw [thick] (3.25,0) arc[start angle=0, end angle=180, radius=3.25cm];

    % Bande en bas
    \draw [thick] (-5,0) -- (5,0);

    % Graduation tous les 10° sans valeur chiffrée
    \foreach \x in {0,10,...,180} {
        \draw[thick] (\x:4.5cm) -- (\x:5cm);
    }
    \foreach \x in {0,10,...,180} {
        \draw[thick] (\x:3.25cm) -- (\x:3.5cm);
    }

    % Un trait pour le centre
    \draw[thick] (0,0.25) -- (0,-0.25);

    % On affiche 90°
    \node at (90:4cm) {\footnotesize$90^\circ$};

    % Ajout de la bordure intérieure du rapporteur
    \draw[thick] (-5,-1) rectangle (5,0);
\end{tikzpicture}

Détails du code :

  1. \coordinate (A), (B), © : Définit les points utilisés pour tracer l’angle. (A) est le sommet, (B) et (C) sont les extrémités des segments.
  2. \pic [fill, cyan!25, …] : Cette ligne trace l’angle entre les segments B--A--C et le remplit avec une couleur bleue (cyan!25).
  3. \draw[thick] … : Trace les segments (demi-droites) ainsi que les arcs du rapporteur.
  4. \foreach \x in {0,10,…,180} : Cette boucle foreach trace les graduations tous les 10° sur le rapporteur.
  5. \node at (90:4cm) {\footnotesize\(90^\circ\)}; : Affiche une étiquette à 90° sur le rapporteur.
  6. \draw[thick] (-5,-1) rectangle (5,0); : Trace une bordure autour du rapporteur pour bien délimiter la zone.

Variations entre les figures

Les autres figures dans le code sont créées en modifiant simplement les coordonnées des points (B) et (C), ainsi que la rotation du rapporteur pour montrer différents angles. Les couleurs changent aussi (par exemple green!25, orange!25, purple!25).

Conclusion

Ce code peut être très utile pour illustrer des exercices de géométrie où les élèves doivent estimer ou mesurer des angles sans nécessairement se fier à des valeurs numériques précises. Il offre une approche visuelle qui peut renforcer leur compréhension des angles et de la géométrie en général.


Retour à l’index


Le code

		% Créer un nouveau compteur
\newcounter{numexemple}
\renewcommand{\thenumexemple}{\alph{numexemple}}	\setcounter{numexemple}{1}	

\begin{tabular}{cc}	
	\begin{tikzpicture}[scale=0.375]
		% On affiche la lettre de l'exercice
		\node at (-5,5) {\thenumexemple\addtocounter{numexemple}{1}.};
		
		% On trace l'angle
		\coordinate (A) at (0,0);
		\coordinate (B) at (130:6);
		\coordinate (C) at (-6,0);
		
		% Trace l'angle
		\pic [fill, myblue!25, angle eccentricity=1.5, angle radius=0.5cm] {angle = B--A--C};
		
		% Trace les demi-droites
		\draw[thick] (A) -- (B);
		\draw[thick] (A) -- (C);
		
		
		% Demi-cercle extérieur (rapporteur)
		\draw [thick] (5,0) arc[start angle=0, end angle=180, radius=5cm];
		
		% Demi-cercle intérieur pour la bande
		\draw [thick] (3.25,0) arc[start angle=0, end angle=180, radius=3.25cm];
		
		% Bande en bas
		\draw [thick] (-5,0) -- (5,0);
		
		% Graduation tous les 10° sans valeur chiffrée
		\foreach \x in {0,10,...,180} {
			\draw[thick] (\x:4.5cm) -- (\x:5cm);
		}
		
		% Graduation tous les 10° sans valeur chiffrée
		\foreach \x in {0,10,...,180} {
			\draw[thick] (\x:3.25cm) -- (\x:3.5cm);
		}
		
		% Un trait pour le centre
		\draw[thick] (0,0.25) -- (0,-0.25);
		
		% On affiche 90°
		\node at (90:4cm) {\footnotesize$90^\circ$};
		
		% Ajout de la bordure intérieure du rapporteur
		\draw[thick] (-5,-1) rectangle (5,0);
	\end{tikzpicture} &
	
	
	\begin{tikzpicture}[scale=0.375]
		% On affiche la lettre de l'exercice
		\node at (-5,5) {\thenumexemple\addtocounter{numexemple}{1}.};
		
		% On trace l'angle
		\coordinate (A) at (0,0);
		\coordinate (B) at (40:6);
		\coordinate (C) at (150:6);
		
		% Trace l'angle
		\pic [fill, mygreen!25, angle eccentricity=1.5, angle radius=0.5cm] {angle = B--A--C};
		
		% Trace les demi-droites
		\draw[thick] (A) -- (B);
		\draw[thick] (A) -- (C);
		
		\begin{scope}[rotate=-30]
			% Demi-cercle extérieur (rapporteur)
			\draw [thick] (5,0) arc[start angle=0, end angle=180, radius=5cm];
			
			% Demi-cercle intérieur pour la bande
			\draw [thick] (3.25,0) arc[start angle=0, end angle=180, radius=3.25cm];
			
			% Bande en bas
			\draw [thick] (-5,0) -- (5,0);
			
			% Graduation tous les 10° sans valeur chiffrée
			\foreach \x in {0,10,...,180} {
				\draw[thick] (\x:4.5cm) -- (\x:5cm);
			}
			
			% Graduation tous les 10° sans valeur chiffrée
			\foreach \x in {0,10,...,180} {
				\draw[thick] (\x:3.25cm) -- (\x:3.5cm);
			}
			
			% Un trait pour le centre
			\draw[thick] (0,0.25) -- (0,-0.25);
			
			% On affiche 90°
			\node[rotate=-30] at (90:4cm) {\footnotesize$90^\circ$};
			
			% Ajout de la bordure intérieure du rapporteur
			\draw[thick] (-5,-1) rectangle (5,0);
		\end{scope}
	\end{tikzpicture} \\
	
	\begin{tikzpicture}[scale=0.375]
		% On affiche la lettre de l'exercice
		\node at (-5,5) {\thenumexemple\addtocounter{numexemple}{1}.};
		
		\begin{scope}[rotate=20]
			% On trace l'angle
			\coordinate (A) at (0,0);
			\coordinate (B) at (40:6);
			\coordinate (C) at (0:6);
			
			% Trace l'angle
			\pic [fill, orange!25, angle eccentricity=1.5, angle radius=0.5cm] {angle = C--A--B};
			
			% Trace les demi-droites
			\draw[thick] (A) -- (B);
			\draw[thick] (A) -- (C);
			
			
			% Demi-cercle extérieur (rapporteur)
			\draw [thick] (5,0) arc[start angle=0, end angle=180, radius=5cm];
			
			% Demi-cercle intérieur pour la bande
			\draw [thick] (3.25,0) arc[start angle=0, end angle=180, radius=3.25cm];
			
			% Bande en bas
			\draw [thick] (-5,0) -- (5,0);
			
			% Graduation tous les 10° sans valeur chiffrée
			\foreach \x in {0,10,...,180} {
				\draw[thick] (\x:4.5cm) -- (\x:5cm);
			}
			
			% Graduation tous les 10° sans valeur chiffrée
			\foreach \x in {0,10,...,180} {
				\draw[thick] (\x:3.25cm) -- (\x:3.5cm);
			}
			
			% Un trait pour le centre
			\draw[thick] (0,0.25) -- (0,-0.25);
			
			% On affiche 90°
			\node[rotate=20] at (90:4cm) {\footnotesize$90^\circ$};
			
			% Ajout de la bordure intérieure du rapporteur
			\draw[thick] (-5,-1) rectangle (5,0);
		\end{scope}
	\end{tikzpicture} &
	
	\begin{tikzpicture}[scale=0.375]
		% On affiche la lettre de l'exercice
		\node at (-5,5) {\thenumexemple\addtocounter{numexemple}{1}.};
		
		\begin{scope}[rotate=-30]
			
			% On trace l'angle
			\coordinate (A) at (0,0);
			\coordinate (B) at (100:6);
			\coordinate (C) at (0:6);
			
			% Trace l'angle
			\pic [fill, purple!25, angle eccentricity=1.5, angle radius=0.5cm] {angle = C--A--B};
			
			% Trace les demi-droites
			\draw[thick] (A) -- (B);
			\draw[thick] (A) -- (C);
			
			
			% Demi-cercle extérieur (rapporteur)
			\draw [thick] (5,0) arc[start angle=0, end angle=180, radius=5cm];
			
			% Demi-cercle intérieur pour la bande
			\draw [thick] (3.25,0) arc[start angle=0, end angle=180, radius=3.25cm];
			
			% Bande en bas
			\draw [thick] (-5,0) -- (5,0);
			
			% Graduation tous les 10° sans valeur chiffrée
			\foreach \x in {0,10,...,180} {
				\draw[thick] (\x:4.5cm) -- (\x:5cm);
			}
			
			% Graduation tous les 10° sans valeur chiffrée
			\foreach \x in {0,10,...,180} {
				\draw[thick] (\x:3.25cm) -- (\x:3.5cm);
			}
			
			% Un trait pour le centre
			\draw[thick] (0,0.25) -- (0,-0.25);
			
			% On affiche 90°
			\node[rotate=-30] at (90:4cm) {\footnotesize$90^\circ$};
			
			% Ajout de la bordure intérieure du rapporteur
			\draw[thick] (-5,-1) rectangle (5,0);
		\end{scope}
	\end{tikzpicture} \\
\end{tabular}