Blobotage et marquage d’angles en TikZ



LMDBT - Le blog



Blobotage et marquage d’angles en TikZ

Rédigé le : 20/08/2024
Mise à jour le : 21/08/2024

Introduction

Aujourd’hui, je vous propose un code en \(\LaTeX\) utilisant TikZ pour créer une construction géométrique particulière. Cette figure illustre un triangle tracer en bloblotage avec un angle marqué, une longueur annotée et arc de cercle orienté.

Explication du Code

Le code présenté ici crée une figure géométrique avec un angle mis en évidence. L’angle est coloré en bleu clair et est annoté avec une flèche en rouge, montrant l’ouverture de l’angle. Une valeur de longueur est également indiquée sur l’un des côtés.

La structure générale du code

\documentclass{standalone}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{amsmath}

\usepackage{tikz}
\usetikzlibrary{angles, decorations.markings, calc,decorations.pathmorphing,intersections}

\newcommand{\drawCrossP}[1]{
	\path (#1) coordinate (coord);
	\draw(coord) -- ++(-0.1,-0.1);
	\draw(coord) -- ++(0.1,0.1);
	\draw(coord) -- ++(-0.1,0.1);
	\draw(coord) -- ++(0.1,-0.1);
}

\begin{document}
	\begin{tikzpicture}[scale=0.6]
		% Définis les points A et B
		\coordinate (A) at (0,0);
		\coordinate (B) at (2,3);
		\coordinate (C) at (120:4);
		
        % Marque les points d'une croix
		\drawCrossP{A}
		\drawCrossP{B}
		\drawCrossP{C}
        
		% Trace l'angle
		\pic [fill, cyan!50, -, angle eccentricity=1.5, angle radius=0.5cm] {angle = B--A--C};
		
		% Trace l'angle
		\pic [draw, red!50, ->, angle eccentricity=1.5, angle radius=1.5cm] {angle = B--A--C};
		
		% Trace les demi-droites
		\draw[decorate, decoration={random steps,segment length=10pt,amplitude=0.75pt}] (A) -- (B) -- (C) -- cycle;
		
		
		\node[below] at ($(A)$) {$A$};
		\node[right] at ($(B)$) {$B$};
		\node[left] at ($(C)$) {$C$};

		
		\path (A) -- (B) node[midway, right] {$9,4\,\textrm{cm}$};
		
						% Extraire les coordonnées de B
		\path let \p1 = (B) in \pgfextra{
			\xdef\Bx{\x1}
			\xdef\By{\y1}
		};
		\path let \p1 = (C) in \pgfextra{
			\xdef\Cx{\x1}
			\xdef\Cy{\y1}
		};
		
		% Norme des vecteurs AB et AC
		\pgfmathsetmacro{\normAB}{sqrt(\Bx*\Bx + \By*\By)}
		\pgfmathsetmacro{\normAC}{sqrt(\Cx*\Cx + \Cy*\Cy)}
		
		
		\pgfmathsetmacro{\angleAB}{acos(\Bx/\normAB)}
		\pgfmathsetmacro{\angleAC}{acos(\Cx/\normAC)}
		\pgfmathsetmacro{\angleABAC}{acos((\Bx*\Cx + \By*\Cy)/((\normAB*\normAC))};
		
		\node at ($(A) + ({\angleAC-0.5*\angleABAC}:1.25cm)$) [draw, circle, inner sep=1pt] {$\alpha$};
	\end{tikzpicture}
\end{document}

Détails du code

  1. Définition des points : Les coordonnées des points \(A\), \(B\), et \(C\) sont définies dans l’espace.
\coordinate (A) at (0,0);
\coordinate (B) at (2,3);
\coordinate (C) at (120:4);
  1. Marquage des points : La fonction DrawCrossP (présente dans le préambule) permet de marquer les points avec une croix.
\drawCrossP{A}
\drawCrossP{B}
\drawCrossP{C}
  1. Trace de l’angle : L’angle en \(\widehat{A}\) est tracé deux fois : d’abord avec un remplissage bleu clair pour mettre en évidence l’angle, puis avec une flèche rouge pour indiquer l’ouverture.
\pic [fill, cyan!50, -, angle eccentricity=1.5, angle radius=0.5cm] {angle = B--A--C};
\pic [draw, red!50, ->, angle eccentricity=1.5, angle radius=1.5cm] {angle = B--A--C};
  1. Segments aléatoires : Les segments reliant les points \(A\), \(B\) et \(C\) sont tracés avec un effet de "zigzag" pour donner un aspect dessiné à la main.
\draw[decorate, decoration={random steps,segment length=10pt,amplitude=0.75pt}] (A) -- (B) -- (C) -- cycle;
  1. Position des étiquettes : Les points \(A\), \(B\), et \(C\) sont étiquetés, et la longueur du segment \([AB]\) est indiquée au milieu.
\node[below] at ($(A)$) {$A$};
\node[right] at ($(B)$) {$B$};
\node[left] at ($(C)$) {$C$};
\path (A) -- (B) node[midway, right] {$9,4\,\textrm{cm}$};
  1. Calculs géométriques : Les coordonnées des points \(B\) et \(C\) sont extraites et utilisées pour calculer les normes des vecteurs \( \overrightarrow{AB}\) et \( \overrightarrow{AC}\), ainsi que les angles entre eux. Ces calculs permettent de positionner le symbole de l’angle alpha au bon endroit dans la figure.

Mise à jour du 21/08/2024
On me rappelle qu’il existe une autre méthode qui utilise la bibliothèque quote de TikZ. Pour en savoir plus, consulter ce lien.
Je conserve la méthode calculatoire (présentée dans ce billet). En effet, il est toujours utile de savoir qu’il est possible d’extraire des données et d’effectuer des calculs avec celles-ci.

% Extraire les coordonnées de B
\path let \p1 = (B) in \pgfextra{
	\xdef\Bx{\x1}
	\xdef\By{\y1}
};
\path let \p1 = (C) in \pgfextra{
	\xdef\Cx{\x1}
	\xdef\Cy{\y1}
};

% Norme des vecteurs AB et AC
\pgfmathsetmacro{\normAB}{sqrt(\Bx*\Bx + \By*\By)}
\pgfmathsetmacro{\normAC}{sqrt(\Cx*\Cx + \Cy*\Cy)}

Conclusion

Ce code en TikZ montre comment combiner des éléments géométriques, tels que des angles et des annotations, pour créer une figure illustrant un triangle avec un angle particulier. Le code est utile pour générer des illustrations précises pour des cours de géométrie ou des supports pédagogiques.


Retour à l’index