Une mise à jour du 29/08/2024 rend obsolète ce billet que je conserve pour mémo.
Rédigé le : 20/08/2024
Mis à jour le : 31/08/2024
Lorsque l’on effectue une rotation globale d’une figure dans TikZ avec l’option rotate
, il est essentiel de veiller à ce que les valeurs numériques des outils du package OutilsGeomTikz
soient correctement orientées.
Dans la figure ci-dessous, les valeurs numériques de l’équerre sont "mal orienté" comparée à celle d’en haut.
En effet, une rotation globale affecte non seulement la figure elle-même, mais aussi l’orientation des outils intégrés, ce qui peut entraîner des valeurs numériques mal orientées.
Dans une rotation globale, tous les éléments de la figure, y compris les objets comme les équerres ou les règles, sont tournés autour de l’origine.
Cela signifie que si un outil était initialement aligné horizontalement ou verticalement, après la rotation globale, ses valeurs numériques risquent de ne plus être correctement alignées, ce qui peut désorienter les élèves lors de la lecture.
Pour corriger cela, nous devons :
(x, y)
autour de l’origine sont modifiées selon les formules suivantes :\[x’ = x \cos(\theta) - y \sin(\theta) \]\[ y’ = x \sin(\theta) + y \cos(\theta)\]
Ici, \(\theta\) est l’angle de rotation. Ces formules permettent de recalculer la nouvelle position où placer l’outil après la rotation globale.
Utiliser l’environnement scope
pour appliquer une rotation locale :
En utilisant l’environnement scope
de TikZ, tu peux appliquer une rotation locale inversée à l’intérieur de la rotation globale. Cela permet de positionner correctement les outils sans les affecter par la rotation globale de la figure.
Utiliser l’option Rotation
de l’outil :
Après avoir appliqué la rotation locale avec scope
, il est nécessaire de spécifier la rotation inversée pour l’outil en utilisant l’option Rotation
disponible dans les outils de OutilsGeomTikz
. Cela permet de réorienter correctement les valeurs numériques.
La "bonne figure" est la deuxième dans l’exemple suivant, où la méthode correcte est appliquée :
\documentclass{standalone}
\usepackage{tikz}
\usepackage{OutilsGeomTikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[rotate=-25,scale=0.75]
\draw[thin,lightgray] (0,0) grid (6,6);
\tkzEquerre[Echelle=0.6,Origine={(3,2)},Fond,CouleurFond=cyan!75!white,Longueur=6,Rotation=0];
\end{tikzpicture}
\begin{tikzpicture}[rotate=-25,scale=0.75]
\draw[thin,lightgray] (0,0) grid (6,6);
\begin{scope}[rotate=25]
\coordinate (Oeq) at ({3*cos(-25)-2*sin(-25)},{3*sin(-25)+2*cos(-25)});
\tkzEquerre[Echelle=0.6,Origine=Oeq,Fond,CouleurFond=cyan!75!white,Longueur=6,Rotation=-25];
\end{scope}
\end{tikzpicture}
\end{document}
En suivant cette méthode, on peut s’assurer que les outils dans TikZ restent correctement orientés et lisibles même après une rotation globale de la figure. L’utilisation de l’environnement scope
pour appliquer une rotation locale inversée est cruciale pour préserver l’orientation correcte des outils comme les équerres et les règles dans les dessins techniques.
\documentclass{standalone}
\usepackage{tikz}
\usepackage{OutilsGeomTikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[rotate=-70,scale=0.75]
\draw[thin,lightgray] (0,0) grid (6,6);
\tkzEquerre[Echelle=0.6,Origine={(3,2)},Fond,CouleurFond=cyan!75!white,Longueur=6,Rotation=0];
\begin{scope}[rotate=70]
\coordinate (Oeq) at ({-2*sin(-70)},{+2*cos(-70)});
\tkzEquerre[Echelle=0.6,Origine=Oeq,Fond,CouleurFond=cyan!75!white,Longueur=6,Rotation=-70];
\end{scope}
\end{tikzpicture}
\end{document}