samedi 1 juin 2013

Engrenages : version du 2 juin 2013

Deux méthodes pour placer la deuxième roue, fichiers (pst-gears.tex et pst-gears.pdf) dans :

 
La deuxième méthode(position de la deuxième roue par l'angle polaire) permet de dessiner facilement un train d'engrenages à 3 roues.
Le fichier permettant de créer les images pour une animation (3rouesanimation.tex ) est dans le même répertoire.

Tous les fichiers sont ici aussi :
http://melusine.eu.org/syracuse/G/pstricks/engrenages/

 Le fichier permettant de créer les images pour l'animation précédente :
http://manuel.luque.perso.neuf.fr/engrenages/animationepicycloide.tex

La roue tourne à l'intérieur de la couronne :
Le fichier pour créer les images de l'animation :
http://manuel.luque.perso.neuf.fr/engrenages/animationhypocycloide.tex

Principe d'un spirographe :
qu'il ne reste plus qu'à animer !



21 commentaires:

  1. Bonjour,
    J'ai téléchargé le code du fichier pst-gears.tex
    et j'obtiens cette erreur « Package inputenc Error: Keyboard character used is undefined » après compilation LaTeX + dvips + ps2pdf sous Texmaker (MikteX 2.9).
    J'ai tenté de mettre \usepackage[utf8]{fontenc}, et j'ai alors cette erreur : « Package inputenc Error: Unicode char ° (U+B0) ».

    RépondreSupprimer
  2. C'est peut-être cette ligne qui est en cause :
    \usepackage[garamond]{mathdesign}
    si vous n'avez pas installé(ou correctement ?) ce package. Faites un essai en la supprimant et mettant à la place le package lmodern.

    RépondreSupprimer
  3. Bonjour,
    oui en effet, c'est cette ligne, en la commentant, je n'ai plus de problème de compilation. D'après une recherche sur le net, cette police Garamond est livrée avec TexLive mais pas avec TeXmaker, d'où le problème.
    Merci beaucoup pour la solution et le partage de si belles macros.

    RépondreSupprimer
  4. J'ai essayé de compiler avec TeXmaker via LaTeX + dvips + ps5pdf la macro animationepicycloide.tex et j'obtiens cette erreur « File `pstricks.pro' not found. »
    Je n'ai pas trouvé de solution sur le net. Est-ce du au fait que le package pstricks est désormais déprécié ?
    https://www.ctan.org/pkg/pstricks
    Avez-vous une idée ?
    Merci encore de votre attention.

    RépondreSupprimer
  5. Il faut placer ce fichier pstricks.pro dans le même répertoire que le fichier que vous compilez. Sinon pour une animation, le package animate peut très bien convenir pour obtenir une animation dans le pdf : il y a pas mal d'exemples récents sur mon blog.

    RépondreSupprimer
  6. Merci de votre réponse, je commence à mieux comprendre.

    Je viens d'apprendre cette semaine l'usage du package animate, mais sur une animation bien plus simple (rotation d'un quart de tour d'un triangle).
    Lors du stage de formation professionnelle où j'ai appris LaTeX, nous avons essentiellement programmé avec tikz et pratiquement pas avec pstricks, ce qui rend le code source encore obscur à mes yeux. cela ne m'encourage pas à modifier votre code.

    J'ai l'intention d'apprendre pstricks pour pouvoir tirer parti de toutes vos très belles macros, mais je ne peux pas le faire dans l'immédiat car je suis assez chargé de travail cette année.

    Si cela est possible, je préfère me procurer ce fichier pstricks.pro de façon à ne pas modifier votre code source.

    Savez-vous où je me trouver ce fichier ?

    RépondreSupprimer
  7. pstricks.pro fait partie du package pstricks. Il est dans le dossier dvips de pstricks. Dans la distribution Miktex il est à cet endroit du disque si vous utiliser Windows :
    C:\Program Files (x86)\MiKTeX 2.9\dvips\pstricks

    Il faut en faire une copie dans votre répertoire de travail.

    RépondreSupprimer
  8. J'utilise MikTeX sous Windows et en effet ce fichier se trouve à l'endroit indiqué (du coup pourquoi n'est-il pas trouvé à la compilation ?).
    La compilation a planté en indiquant ceci :
    Process started

    animationepicycloide.dvi

    : No such file or directory

    This is dvips(k) 5.996 Copyright 2016 Radical Eye Software (www.radicaleye.com) dvips: DVI file can't be opened:

    Process exited with error(s)

    Je vais essayer avec une autre distribution comme TexLive pour vérifier si le problème ne vient pas justement de MikTeX.

    AndréC

    RépondreSupprimer
  9. Il faut faire une copie de ce fichier (pstricks.pro) dans le répertoire où se trouve le fichier que vous compilez animationepicycloide.tex, ces 2 fichiers doivent être ensemble. La macro est rudimentaire et ne va pas chercher pstricks.pro dans répertoire usuel.

    RépondreSupprimer
    Réponses
    1. Oui, c'est bien ce que j'ai fait (désolé de ne pas avoir été clair) j'ai installé ce fichier dans le répertoire de compilation et j'ai eu l'erreur indiquée.
      AndréC

      Supprimer
  10. Voici une version qui n'utilise pas le package pst-eps qui me semble être la source de l'erreur ?
    Le listing reprend tout, mais le code pour produire les images est très court.
    les compilations successives :
    LaTeX->dvips->ps2pdf
    produisent un pdf où on peut faire défiler les images avec la roulette de la souris. Pour obtenir les images il faut les extraire avec pdfseparate(par exemple) puis les transformer en gif etc.

    http://luque.gabrielle.perso.sfr.fr/physique/engrenages/animationepicycloide-v2.tex



    RépondreSupprimer
    Réponses
    1. En effet, la compilation fonctionne mais l'animation n'est pas automatique, il faut cliquer à la souris pour faire tourner le petit engrenage autour du grand image par image.
      C'est déjà un grand progrès, merci !
      AndréC

      Supprimer
  11. Pour en revenir à la première version, il faut peut-être(certainement) ajouter au fichier pstricks.pro celui-ci aussi : pst-algparser.pro qui est au même endroit que le premier dans MikTeX.

    RépondreSupprimer
    Réponses
    1. Bonjour,
      je viens de le faire et j'obtiens cette erreur :
      Process started

      animationepicycloide.dvi

      : No such file or directory

      This is dvips(k) 5.996 Copyright 2016 Radical Eye Software (www.radicaleye.com) dvips: DVI file can't be opened:

      Process exited with error(s)
      AndréC

      Supprimer
    2. Regardez si dans le dossier, de nouveaux fichiers ne se sont pas écrits :

      epicycloide001.eps
      etc.

      Supprimer
    3. Oui, en effet, ils y sont de 001 à 180.
      AndréC

      Supprimer
    4. Je viens de faire l'essai d'une compilation sans ce fichier pst-algparser.pro et cela engendre aussi des fichiers .eps, mais pas 180 comme avec mais 100, de 001 à 100.

      AndréC

      Supprimer
    5. Je n'ai pas d'idée sur ce problème (bizarre). Remarquez un autre fichier :

      epicycloide.ps

      Comme indiquez dans les commentaires :
      %% === Macros Ouverture, Ecriture, Inscription ---------------------------------
      %% On libère % que l'on remplace par " pour les commentaires
      %% Le code ci-dessous se comprend mieux en regardant le fichier PS produit. Il
      %% suffira d'exécuter ps2pdf avec l'option -d NOSAFER pour obtenir l'animation
      %% au format PDF.
      %% Pour l'exemple préenté ici :
      %% $> ps2pdf -dNOSAFER epicycloide.ps

      celui-ci va permettre de créer le pdf :

      En ligne de commandes DOS :

      ps2pdf -dNOSAFER epicycloide.ps

      pour séparer les pages du pdf :

      pdfseparate epicycloide.pdf page%d.pdf

      Pour les convertir ensuite au format Gif afin de créer un gif animé, il existe un plugin pour The Gimp :

      https://sourceforge.net/projects/gimpdbpplugin/

      Supprimer
    6. J'ai d'abord décommenté le code pour avoir ce code
      « \immediate\write\pst@psout{"
      !PS-Adobe-3.0^^J"
      Creator: PSTricks (les mimines)^^J"
      CreationDate: \the\year/\the\month/\the\day^^J"
      BoundingBox: \psk@bbllx\space\psk@bblly\space\psk@bburx\space\psk@bbury^^J"
      EndComments^^J"
      /Largeur \psk@bburx\space\psk@bbllx\space sub def^^J"
      /Hauteur \psk@bbury\space\psk@bblly\space sub def^^J"
      << /PageSize [Largeur Hauteur] >> setpagedevice^^J"
      \psk@bbllx\space neg \psk@bblly\space neg translate^^J"
      %%%% Succession des images}"
      }
      » (si j'ai bien compris)

      Puis j'ai placé l'invite de commande dans le répertoire où se trouve le fichier epicycloide.ps (et les autres), j'ai tapé textuellement
      et j'ai obtenu cette erreur :
      « Error: /undefined in !PS-Adobe-3.0
      Operand stack:

      Execution stack:
      %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-
      - 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- fa
      lse 1 %stopped_push 1967 1 3 %oparray_pop 1966 1 3 %oparray_
      pop 1950 1 3 %oparray_pop 1836 1 3 %oparray_pop --nostringval-
      - %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringv
      al-- 2 %stopped_push --nostringval--
      Dictionary stack:
      --dict:1198/1684(ro)(G)-- --dict:0/20(G)-- --dict:78/200(L)--
      Current allocation mode is local
      Current file position is 15
      MiKTeX GPL Ghostscript 9.19: Unrecoverable error, exit code 1
      »

      Manifestement, j'ai loupé quelque chose !

      AndréC

      Supprimer
    7. >J'ai d'abord décommenté le code pour avoir ce code

      Il ne faut rien toucher au code, ces commentaires sont des indications pour postscript (version de postscript et.)

      Tapez directement l'invite de commandes.

      Supprimer
    8. En effet, l'invite de commande fonctionne parfaitement. J'obtiens le même fichier qu'avec l'autre fichier animationepicycloide-v2.tex dont les images défilent manuellement avec la roulette de la souris.
      Merci.

      Dommage que ce dernier ne soit pas animé, mais franchement bravo pour vos superbes macros !

      AndréC

      Supprimer