Un package pour dessiner rapidement vos figures de rotation

Tu es prof de prépa, ou enseignant en école d’ingé en mécanique générale ? Tu rédiges, à raison, tes sujets et/ou corrections sous \LaTeX ? Alors peut-être seras-tu intéressé par le package RotationFigure, qui te permettra par la suite de dessiner très rapidement tes figures de rotation.

Dans le cadre de mes cours de mécanique générale en école d’ingénieur, j’ai dû à de nombreuses reprises dessiner des figures de rotation de bases dans mes sujets et corrections. En grand intégriste de \LaTeX, j’ai bien sûr pris le soin de faire ces figures sous TikZ. Comme cette opération est devenue très vite redondante, j’ai pris le temps de faire un petit package perso, qui me permet maintenant de tracer une figure de rotation en une seule commande. Et dans une exacerbation de philanthropie, j’ai pensé utile de partager cette (modeste) création.

Exemples

Exemple-base
La figure obtenue par défaut
Exemple-rb
La même, mais avec un peu de couleurs
Exemple-forme
Une dernière, avec d’autres paramètres encore

Installation

Pour cela, il vous suffit de télécharger le .sty correspondant, et de placer soit dans le dossier de vos packages personnels (si vous ne savez pas faire, lisez ceci), ou dans le dossier de compilation si c’est pour une utilisation ponctuelle.

Utilisation

Dans l’entête de votre source .tex, il faut bien entendu commencer par appeler la package en question :

\usepackage{RotationFigure}

Puis il suffit de lancer la commande dès que vous souhaitez afficher une figure de rotation :

\RotationFigure{x}{y}{z}{x_1}{y_1}{z_1}{\alpha}

Les trois premiers arguments correspondent à la base de départ, les trois suivants à la base tournée ; le dernier étant le nom de l’angle à afficher. La rotation se fait autour du troisième vecteur de base donné. Tous ces arguments sont déjà dans une environnement mathématique, donc inutile de placer les $…$ (si vous voulez enlever le style math, utilisez simplement la commande \mathrm{x}).

 

Personnalisation

J’ai rédigé rapidement une documentation, avec quelques exemples de personnalisation, disponible ici. Comme vous l’avez constaté sur les exemples précédents, ce package présente (je crois) l’avantage d’être assez flexible, laissant à l’utilisateur le choix des formes et des styles pour la figure. Les paramètres géométriques sont définis avec des \newcommand, tandis que les styles sont définis dans des macros tikz (tikzstyle). Il suffit donc de les écraser pour modifier le rendu des figures.
Voici donc la liste des commandes disponibles (valeurs par défaut ici) :

Géométrie

Diamètre du cercle extérieur pour la direction normale :

\renewcommand{\circleSize}{0.1}

Diamètre du point intérieur à ce cercle :

\renewcommand{\dotSize}{\circleSize/5}

Position (en x et y) du vecteur normal, par rapport à l’origine du repère :

\renewcommand{\normXpos}{-\circleSize}
\renewcommand{\normYpos}{-\circleSize}

Position relative des arcs de cercle :

\renewcommand{\angleRadius}{0.9}

Angle réellement dessiné entre les deux bases :

\renewcommand{\angleValue}{20}

 

Styles

Style de la base initiale :

\tikzstyle{initStyle}=[black]

Style de la base tournée :

\tikzstyle{rotaStyle}=[black]

Épaisseur de trait des vecteurs :

\tikzstyle{thickness}=[thick]

Style des flèches des vecteurs :

\tikzstyle{basesArrows}=[<->]

Style des arcs des angles :

\tikzstyle{angleStyle}=[black]

Style des flèches des angles :

\tikzstyle{angleArrows}=[->]

Style des noms des vecteurs et angles :

\tikzstyle{fontStyle}=[]
Un package pour dessiner rapidement vos figures de rotation
4.8 (96.67 %) 6 votes
  • reda

    Merci !! 🙂

  • Michel

    Bonjour,

    Je viens d’essayer votre package, le résultat possède des angles anormaux : http://hpics.li/59f2216

    Le code utilisé est :

    \documentclass[a4paper,10pt]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[UKenglish,francais]{babel}
    \usepackage[upright]{fourier}
    \usepackage{RotationFigure}

    \begin{document}

    \begin{figure}[h!]
    \centering
    \tikzstyle{initStyle}=[black]
    \tikzstyle{rotaStyle}=[blue]
    \tikzstyle{angleStyle}=[red]
    \renewcommand{\dotSize}{\circleSize/3}
    \renewcommand{\normXpos}{0}
    \renewcommand{\normYpos}{0}
    \RotationFigure[scale=1.5]{y}{z}{x}{y’}{z’}{x’}{\alpha}
    \end{figure}

    \end{document}

    • Salut,
      Effectivement, je viens de faire un test, et j’ai le même problème. C’est probablement un problème de version d’un des packages (tikz, calc…). Je cherche ça et je te tiens au courant !

    • C’est bon, je viens de mettre à jour mon package (il te faut donc le retélécharger).
      C’était bien un problème de compatibilité (ma première version date de la version 2.1.0 de Tikz, l’actuelle étant 3.0.0).

      • Michel

        Merci, ça fonctionne !