Bizarrerie à la sortie de l'impression.

Pour toute demande d'aide sur des exemples non finalisés, c'est ici.
Les exemples aboutis et intéressants seront ajoutés aux sous-forums qui suivent.

Règles du forum
Pour toute demande d'aide pour la conception (ou la confirmation d'un code) d'une figure Asymptote, c'est ici.

J'invite ceux qui ont régulièrement des questions à poser à aller dans leur panneau de l'utilisateur pour indiquer dans la signature de leurs messages :

  1. Nom du système d'exploitation (W7 ou Ubuntu 12.04 ou ...)
  2. Version d'Asymptote et éditeur utilisé pour les figures Asymptote
  3. Distribution LaTeX et éditeur utilisé pour les tex.


On va gagner du temps dans les réponses !
Fabrice
Messages : 118
Enregistré le : sam. 13 mars 2010, 11:41

Bizarrerie à la sortie de l'impression.

Message non lu par Fabrice » mer. 9 mai 2012, 16:22

Bonsoir,
Je ne pense pas que le problème est lié à Asymptote, mais comme la figure a été construite avec, je pose ma question sur ce forum.
Le code est le suivant :

Figure asymptote 85f7f18e64f6e07e81cc6f0c25a2e2d9
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import graph;
  2. usepackage("mathrsfs,esvect,fourier");
  3. arrowhead guillaumetellHead=HookHead(dir=10);
  4. guillaumetellHead.size=new real(pen p)
  5. {
  6. static real hcoef=5;
  7. return hcoef*arrowtexfactor*linewidth(p);
  8. };
  9. arrowbar guillaumetell=Arrow(guillaumetellHead);
  10. unitsize(1cm,1cm);
  11. real f (real x){return exp(x);}
  12. draw(graph(f,-4,5),0.8bp+black);
  13. xlimits(-5,5,Crop);
  14. ylimits(-1,4,Crop);
  15. pen ptick=gray(0.9);
  16. pen pTick=gray(0.7);
  17. pen p=fontsize(9pt);
  18. xequals(0,-1,4,0.8bp+black);
  19. yequals(0,-5,5,0.8bp+black);
  20. draw((0,0)--(1,0),linewidth(1.1bp),guillaumetell);
  21. draw((0,0)--(0,1),linewidth(1.1bp),guillaumetell);
  22. labelx("$O$",-0.2);
  23. label("$y=e^{x}$",(-2.5,f(-2.5)),2N);
  24. label("$\vv{i}$",(0.5,0),1.1*S);
  25. label("$\vv{j}$",(0,0.5),1.1*W);

Si j'imprime le document,j'obtiens une figure qui ressemble à peu de chose près à la suivante

Figure asymptote d07bab5625449dd8e52afedec6a9d500
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. import graph;
  2. usepackage("mathrsfs,esvect,fourier");
  3. arrowhead guillaumetellHead=HookHead(dir=10);
  4. guillaumetellHead.size=new real(pen p)
  5. {
  6. static real hcoef=5;
  7. return hcoef*arrowtexfactor*linewidth(p);
  8. };
  9. arrowbar guillaumetell=Arrow(guillaumetellHead);
  10. unitsize(1cm,1cm);
  11. real f (real x){return exp(x);}
  12. draw(graph(f,-4,5),0.8bp+black);
  13.  
  14. draw((-4,f(-4))--(-4,f(log(4)))--(log(4),f(log(4)))); // Ligne ajoutée pour simuler le problème rencontré
  15.  
  16. xlimits(-5,5,Crop);
  17. ylimits(-1,4,Crop);
  18. pen ptick=gray(0.9);
  19. pen pTick=gray(0.7);
  20. pen p=fontsize(9pt);
  21. xequals(0,-1,4,0.8bp+black);
  22. yequals(0,-5,5,0.8bp+black);
  23. draw((0,0)--(1,0),linewidth(1.1bp),guillaumetell);
  24. draw((0,0)--(0,1),linewidth(1.1bp),guillaumetell);
  25. labelx("$O$",-0.2);
  26. label("$y=e^{x}$",(-2.5,f(-2.5)),2N);
  27. label("$\vv{i}$",(0.5,0),1.1*S);
  28. label("$\vv{j}$",(0,0.5),1.1*W);

Merci.
Debian Strech + Asymptote 2.42-12 + Emacs24 + TeXLive 2017

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1419
Enregistré le : dim. 7 mars 2010, 14:50

Re: Bizarrerie à la sortie de l'impression.

Message non lu par GM » mer. 9 mai 2012, 17:43

Fabrice a écrit :Si j'imprime le document,j'obtiens une figure qui ressemble à peu de chose près à la suivante

J'ai déjà eu le problème aussi avec une figure l'année dernière... et je suis resté aussi perplexe que toi. Et j'ai zappé....
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 31/03/19) :
PC n°1 :Windows 10 - Asymptote(2.59)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.52-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.52-1 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
chellier
Messages : 101
Enregistré le : jeu. 18 mars 2010, 17:30

Re: Bizarrerie à la sortie de l'impression.

Message non lu par chellier » mer. 9 mai 2012, 17:54

Bonsoir,

J'ai aussi eu le problème. Je l'ai résolu en changeant de lecteur pdf... mais je suis sous linux, à voir sous windows.

Christophe

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: Bizarrerie à la sortie de l'impression.

Message non lu par maurice » jeu. 10 mai 2012, 04:01

Bonsoir, j'ai eu quelquefois des soucis d'impression de ce type mais jamais avec l'imprimante installée par défaut sur mon ordi personnel.
Souvent au lycée avec des pdf à imprimer qui se trouvaient sur clé usb.
Autre problème récurrent (toujours au lycée), les grilles ne sont pas imprimées.
J'en avais conclu que les ordinateurs utilisés n'avait pas tous les drivers installés ou des choses dans ce style ...?
Du coup, j'imprime chez moi ou j'emmène mon portable au lycée (ça marche dans ce cas).

Maurice
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Fabrice
Messages : 118
Enregistré le : sam. 13 mars 2010, 11:41

Re: Bizarrerie à la sortie de l'impression.

Message non lu par Fabrice » jeu. 10 mai 2012, 11:25

Bonjour,
J'ai zappé également !
Debian Strech + Asymptote 2.42-12 + Emacs24 + TeXLive 2017

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1419
Enregistré le : dim. 7 mars 2010, 14:50

Re: Bizarrerie à la sortie de l'impression.

Message non lu par GM » jeu. 10 mai 2012, 12:42

GM a écrit :
Fabrice a écrit :Si j'imprime le document,j'obtiens une figure qui ressemble à peu de chose près à la suivante

J'ai déjà eu le problème aussi avec une figure l'année dernière... et je suis resté aussi perplexe que toi. Et j'ai zappé....

L'exemple donné par Fabrice a ce problème chez moi (sous W7) avec AdobeReaderX mais pas avec Sumatra.

Il est vrai qu'il faudrait peut-être remonter l'information... pour avoir une petite chance qu'il se règle... sous réserve que le problème soit effectivement du côté d'Asymptote, et que JCBowman retrouve un peu de disponibilité pour répondre à nos difficultés. :?
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 31/03/19) :
PC n°1 :Windows 10 - Asymptote(2.59)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.52-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.52-1 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1419
Enregistré le : dim. 7 mars 2010, 14:50

Re: Bizarrerie à la sortie de l'impression.

Message non lu par GM » sam. 2 juin 2012, 17:11

GM a écrit :Il est vrai qu'il faudrait peut-être remonter l'information... pour avoir une petite chance qu'il se règle... sous réserve que le problème soit effectivement du côté d'Asymptote, et que JCBowman retrouve un peu de disponibilité pour répondre à nos difficultés. :?


En attendant, une solution :

Code : Tout sélectionner

import graph;
usepackage("mathrsfs,esvect,fourier");
arrowhead guillaumetellHead=HookHead(dir=10);
guillaumetellHead.size=new real(pen p)
{
  static real hcoef=5;
  return hcoef*arrowtexfactor*linewidth(p);
};
arrowbar guillaumetell=Arrow(guillaumetellHead);
unitsize(1cm,1cm);
real f (real x){return exp(x);}

real xmin=-4, xmax=5, ymin= -1, ymax=4;
bool3 cond(real x) { return ((f(x)>ymin)&&(f(x)<ymax)) ? true : false; }
draw(graph(f,xmin,xmax,cond),0.8bp+black);
pen ptick=gray(0.9);
pen pTick=gray(0.7);
pen p=fontsize(9pt);
xequals(0,-1,4,0.8bp+black);
yequals(0,-5,5,0.8bp+black);
draw((0,0)--(1,0),linewidth(1.1bp),guillaumetell);
draw((0,0)--(0,1),linewidth(1.1bp),guillaumetell);
labelx("$O$",-0.2);
label("$y=e^{x}$",(-2.5,f(-2.5)),2N);
label("$\vv{i}$",(0.5,0),1.1*S);
label("$\vv{j}$",(0,0.5),1.1*W);
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 31/03/19) :
PC n°1 :Windows 10 - Asymptote(2.59)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.52-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.52-1 git) + TexLive2018
Merci de préciser la votre !

maurice
Messages : 262
Enregistré le : jeu. 25 mars 2010, 13:00
Contact :

Re: Bizarrerie à la sortie de l'impression.

Message non lu par maurice » sam. 2 juin 2012, 22:27

Bonsoir,

du coup j'ai regardé la définition de graph :

Code : Tout sélectionner

guide[] graph(picture pic=currentpicture, real f(real), real a, real b,
int n=ngraph, real T(real)=identity, bool3 cond(real),
interpolate join=operator --);


La doc dit :

Returns a graph using the scaling information for picture pic of the function f on the interval [T(a),T(b)], sampling at n points evenly
spaced in [a,b], optionally restricted by the bool3 function cond on [a,b]. If cond is:
• true, the point is added to the existing guide;
• default, the point is added to a new guide;
• false, the point is omitted and a new guide is begun.



Si j'ai bien compris, la valeur de cond passe de default à true si ymin < f(x) < ymax et de default à false sinon et cela résoud le problème ... ?

Peux tu éclairer ma lanterne sur les différentes options "added to the existing guide", "added to a new guide" et " a new guide is begun".

Merci

Bruno
Doc 3D
Si ça ne marche pas, essayez la version pdf

Fedora 23 -- Asymptote 2.35 -- TeXlive 2013 -- emacs et/ou gedit

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1419
Enregistré le : dim. 7 mars 2010, 14:50

Re: Bizarrerie à la sortie de l'impression.

Message non lu par GM » dim. 3 juin 2012, 02:18

Quand le booléen trois-état renvoie false le pair n'est pas ajouté au guide courant, ni à un nouveau guide !
Et le pair suivant, sous réserve qu'il satisfasse la condition du booléen, sera le premier pair d'un nouveau guide.

Un exemple : ceci est le tracé des courbes représentatives des fonctions f: x\mapsto x^{2} et g: x\mapsto 100-x^{2} sur l'intervalle [-15; 15],
limitées à la bande de plan d'inéquations -50<y<50 par un appel spécial de la fonction graph, avec un paramètre de type bool3.

Le nombre de points définissant les path/guide a été choisis pour n'avoir que des pairs d'abscisse entière et faciliter la compréhension de ce qui s'affiche en console.

Figure asymptote 023abd17b89b0594cf580d771e1c8f3f
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. size(300,IgnoreAspect);
  2. import graph;
  3. real f (real x){return x^2;}
  4. real g (real x){return 100-x^2;}
  5. int xmin=-15, xmax=15, ymin= -50, ymax=50;
  6. bool3 condf(real x) { return ((f(x)>ymin)&&(f(x)<ymax)) ? true : false; }
  7. bool3 condg(real x) { return ((g(x)>ymin)&&(g(x)<ymax)) ? true : false; }
  8. guide[] Cf=graph(f,xmin,xmax,n=xmax-xmin,condf),
  9. Cg=graph(g,xmin,xmax,n=xmax-xmin,condg);
  10. draw(Cf,blue,dot());
  11. draw(Cg,red,dot());
  12. xaxis(xmin=xmin,xmax=xmax,Ticks(Step=5));
  13. yaxis(ymin=ymin,ymax=ymax,Ticks(Step=10));
  14. write("Cf=",Cf);
  15. write('\n'+"Cg=",Cg);


Cela donne cela en console :

Cf=(-7,49)
{curl 1}..{curl 1}(-6,36)
{curl 1}..{curl 1}(-5,25)
{curl 1}..{curl 1}(-4,16)
{curl 1}..{curl 1}(-3,9)
{curl 1}..{curl 1}(-2,4)
{curl 1}..{curl 1}(-1,1)
{curl 1}..{curl 1}(0,0)
{curl 1}..{curl 1}(1,1)
{curl 1}..{curl 1}(2,4)
{curl 1}..{curl 1}(3,9)
{curl 1}..{curl 1}(4,16)
{curl 1}..{curl 1}(5,25)
{curl 1}..{curl 1}(6,36)
{curl 1}..{curl 1}(7,49)

Cg=(-12,-44)
{curl 1}..{curl 1}(-11,-21)
{curl 1}..{curl 1}(-10,0)
{curl 1}..{curl 1}(-9,19)
{curl 1}..{curl 1}(-8,36)
^^(8,36)
{curl 1}..{curl 1}(9,19)
{curl 1}..{curl 1}(10,0)
{curl 1}..{curl 1}(11,-21)
{curl 1}..{curl 1}(12,-44)


Dans le premier cas, on a un guide[] de longueur 1.
Dans le second cas, on a un guide[] de longueur 2.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 31/03/19) :
PC n°1 :Windows 10 - Asymptote(2.59)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.52-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.52-1 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1419
Enregistré le : dim. 7 mars 2010, 14:50

Re: Bizarrerie à la sortie de l'impression.

Message non lu par GM » dim. 3 juin 2012, 09:25

J'ai oublié de dire que :

  • les fonctions choisies ci-dessus n'ont pas de valeurs interdites, donc il suffirait de deux états pour le booléen : un pair qui ne satisfait pas la condition n'est simplement pas tracé... et le premier pair qui suit et qui satisfait la condition débute nécessairement un nouveau guide ;
  • l'intérêt d'un booléen trois états est pour moi dans le tracé de la courbe d'une fonction ayant une valeur interdite, car il faut alors pouvoir écrire une condition de test fonctionnant ainsi :
    • si l'état est true, le pair testé est ajouté au guide courant ;
    • si l'état est default, le pair testé est le premier pair d'un nouveau guide qui devient le guide courant ;
    • si l'état est false, le pair testé n'est à ajouter à aucun guide et le prochain pair qui vérifiera la condition débutera un nouveau guide.

J'espère que j'ai été clair. :)
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 31/03/19) :
PC n°1 :Windows 10 - Asymptote(2.59)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.52-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.52-1 git) + TexLive2018
Merci de préciser la votre !

Répondre