Travailler dans plusieurs repères

Règles du forum
ATTENTION ! Il est demandé de ne déposer dans ce forum que des exemples en langage Asymptote
  • finalisés
  • que l'on pense intéressants et optimisés
  • et qui se rapportent au thème du forum.
Si certains exemples déposés donnent lieu à de nombreuses modifications, ils seront déplacés et remplacés par un nouveau sujet dans ce forum avec la ou les meilleures propositions.
Pour les demandes d'aide ... il y a un forum spécifique !
Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Travailler dans plusieurs repères

Message non lu par GM » sam. 13 mars 2010, 12:09

Un grand plus de l'extension geometry : pouvoir travailler facilement dans plusieurs repères (qui ne sont pas forcément affichés) !

Figure asymptote 3e5d88aea54eaa3694cb003214f4a5f2
*** 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 geometry;
  2. import graph_pi;
  3. size(300);
  4. graphicrules(xunit=1cm, yunit=1cm,
  5. xmin=-3, xmax=5,
  6. ymin=-3, ymax=7,
  7. crop=Crop
  8. );
  9. coordsys R=cartesiansystem((1.5,2.5),i=(1,-1),j=(2,.5));
  10. show("$O'$","$\vec{u}$","$\vec{v}$",R);
  11. // On définit la fonction et sa courbe (chemin)
  12. real f(real x) {return x^2;}
  13. path Cf=graph(f,n=400);
  14. // R* indique que Cf doit être tracée dans R
  15. draw(R*Cf,linewidth(1bp));
  16. draw(R*unitcircle,red);
  17. // On limite la taille de l'image :
  18. xlimits(-3,5,Crop);
  19. ylimits(-3,4,Crop);
  20. show(defaultcoordsys, xpen=blue);
  21.  
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 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
pivaldi
V.I.P.
V.I.P.
Messages : 24
Enregistré le : jeu. 11 mars 2010, 21:09
Contact :

Re: Travailler dans plusieurs repères

Message non lu par pivaldi » sam. 13 mars 2010, 12:12

Salut Gaétan !
Elle est vraiment extra cette extension :mrgreen:

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

Re: Travailler dans plusieurs repères

Message non lu par GM » sam. 13 mars 2010, 12:28

pivaldi a écrit :Salut Gaétan !
Elle est vraiment extra cette extension :mrgreen:

Tu noteras que c'est celle qui a inauguré ce sous-forum : http://asy.gmaths.net/forum/extensions-existantes-f12/. C'est une V.I.E. d'un V.I.P. :mrgreen:

Une remarque technique sur l'exemple : j'ai ajouté l'affichage du repère par défaut en dernière ligne après xlimits et ylimits pour ne pas avoir ce qu'il se passe ici : la disparition de l'axe des abscisses.
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 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Avatar du membre
pivaldi
V.I.P.
V.I.P.
Messages : 24
Enregistré le : jeu. 11 mars 2010, 21:09
Contact :

Re: Travailler dans plusieurs repères

Message non lu par pivaldi » sam. 13 mars 2010, 16:34

GM a écrit :
pivaldi a écrit :Une remarque technique sur l'exemple : j'ai ajouté l'affichage du repère par défaut en dernière ligne après xlimits et ylimits pour ne pas avoir ce qu'il se passe ici : la disparition de l'axe des abscisses.


La, ce n'est pas de ma faute ;)
Comme il y a du deferred-drawing derrière, c'est le crop qui m'empêche d'avoir la longueur de l'axe.
Pour palier ce problème, il suffit de mettre un dot((0,-epsilon),invisible); dans le code.

En revanche j'ai profité de ta remarque pour améliorer la gestion de xylimits car il était redondant de mettre

Code : Tout sélectionner

graphicrules(xunit=1cm, yunit=1cm,
             xmin=-3, xmax=3,
             ymin=-3, ymax=7,
             crop=Crop
             );

suivi d'un

Code : Tout sélectionner

xlimits(-2,3,Crop);
ylimits(-2,5,Crop);


Avec la nouvelle version, il suffit de mettre

Code : Tout sélectionner

graphicrules(xunit=1cm, yunit=1cm,
             xmin=-2, xmax=3,
             ymin=-2, ymax=5,
             crop=Crop
             );

plus besoin de remettre un xylimits (sauf cas spéciaux).

Tu peux donc remplacer avantageusement ton code par

Code : Tout sélectionner

import geometry;
import graph_pi;
size(7cm,0);
graphicrules(xunit=1cm, yunit=1cm,
             xmin=-2, xmax=3,
             ymin=-2, ymax=5,
             crop=Crop
             );
show(defaultcoordsys);
coordsys R=cartesiansystem((2,1),i=(1,1),j=(-1,1));
show("$O'$","$\vec{u}$","$\vec{v}$",R);
// On définit la fonction et sa courbe (chemin)
real f(real x) {return x^2;}
path Cf=graph(f,n=400);
// R* indique Cf doit être tracée dans R
draw(R*Cf,linewidth(1bp));
dot((0,-.1),invisible); // Hack pour avoir l'axe !


Voilà, j'espère que cette nouvelle version de graph_pi ne va pas entrainer de régressions car j'ai ajouté un bien gros hack dedans… et que je n'ai pas le temps de la tester dans ces moindres recoins.

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

Re: Travailler dans plusieurs repères

Message non lu par GM » sam. 13 mars 2010, 17:01

Je testerai tout cela. Merci :-)
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 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Répondre