OmitTick avec graph3

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 !
etienne25
Messages : 26
Enregistré le : mar. 29 mai 2012, 00:40

OmitTick avec graph3

Message non lu par etienne25 » ven. 13 juin 2014, 18:20

Bonjour,

Je souhaite enlever des graduations sur un axe 3D. En 2D, il y a OmitTick qu'on peut utiliser quand on spécifie les graduations dans la commande xaxis. Mais on dirait qu'on ne peut pas faire de même dans xaxis3.

1) Est-ce bien le cas?

2) Si non, un exemple svp!

3) Si oui, y a-t-il moyen de lister les graduations qu'on souhaite voir (si je ne peux décider quoi enlever, puis-je décider plutôt quoi mettre :) )

Merci à l'avance!

etienne25
Messages : 26
Enregistré le : mar. 29 mai 2012, 00:40

Re: OmitTick avec graph3

Message non lu par etienne25 » ven. 13 juin 2014, 18:24

J'ai Asymptote 2.21

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

Re: OmitTick avec graph3

Message non lu par GM » sam. 14 juin 2014, 09:57

Bonjour,

as-tu essayé ton idée ?

Figure asymptote 25f1b3b3610b7fef973771bd24bbc671
*** 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 grid3;
  2.  
  3. size3(150,IgnoreAspect);
  4.  
  5. limits((0,0,0),(10,10,6));
  6. currentprojection=perspective(camera=(20,16,7),target=(5,5,3));
  7. viewportmargin=(10mm,10mm);
  8.  
  9. grid3(XYZgrid,Step=5,step=1);
  10.  
  11. xaxis3(Label("$x$",MidPoint,align=Y-Z),
  12. Bounds(Both,Min),OutTicks(OmitTick(2,8)),p=blue);
  13. yaxis3(Label("$y$",MidPoint,align=X-Z),
  14. Bounds(Both,Min),OutTicks(endlabel=false),p=red);
  15. zaxis3(Label("$z$",MidPoint,align=X-Y),
  16. Bounds(Both,Min),InTicks(),p=1bp+.5green);
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 !

etienne25
Messages : 26
Enregistré le : mar. 29 mai 2012, 00:40

Re: OmitTick avec graph3

Message non lu par etienne25 » lun. 16 juin 2014, 01:13

Pas encore, la commande OutTicks me cause encore des soucis. Voici la commande qui génère l'axe que je veux produire:

Code : Tout sélectionner

size(4.8cm);
import solids;
currentprojection=orthographic(1,1,1);
xaxis3(Label("$x$",position=EndPoint,align=W,fontsize(8)),
	0,13,
	OutTicks(Label(fontsize(6)),NoZero,Step=5,step=1),
	Arrow3(8bp));
J'aimerais retirer les graduations pour 12 et 13.

Lorsque j'ajoute le OmitTick dans le OutTicks, le code ne compile plus. J'essaie de changer l'ordre des paramètres dans OutTick, en vain. Et je ne trouve pas dans la doc officielle d'Asymptote la synthaxe complète de OutTicks (est-ce que ça se trouve qqpart??). Des suggestions? Merci à l'avance!!!

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

Re: OmitTick avec graph3

Message non lu par maurice » lun. 16 juin 2014, 05:16

Bonjour, à la place du NoZero :

Figure asymptote 1baf7a5605b67fef9b472d859256c596
*** 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(4.8cm);
  2. import solids;
  3. currentprojection=orthographic(1,1,1);
  4. xaxis3(Label("$x$",position=EndPoint,align=W,fontsize(8)),
  5. 0,15,
  6. OutTicks(Label(fontsize(6)),OmitTick(0,12,13),Step=1,step=0, end=false, endlabel=false),
  7. Arrow3(8bp));


Par contre, j'ai du "alonger" l'axe jusqu'à 15 ; sinon :

Figure asymptote 2005af77ee35b5eb24590f1fe320ccdd
*** 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(4.8cm);
  2. import solids;
  3. currentprojection=orthographic(1,1,1);
  4. xaxis3(Label("$x$",position=EndPoint,align=W,fontsize(8)),
  5. 0,13,
  6. OutTicks(Label(fontsize(6)),OmitTick(12,13),Step=1,step=0),
  7. Arrow3(8bp));


J'ai aussi changer les valeurs de Step et step.

Peut-être existe-t-il une solution plus élégante ?

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 : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: OmitTick avec graph3

Message non lu par GM » lun. 16 juin 2014, 06:13

Bonjour,

Plutôt que cela

Code : Tout sélectionner

end=false, endlabel=false
,
il suffit d'ajouter la valeur que l'on veut masquer dans OmitTick.
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
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: OmitTick avec graph3

Message non lu par GM » lun. 16 juin 2014, 06:48

Et si on commence à vouloir des graduations pour tous les entiers et que seules quelques étiquettes manquent, il va falloir deux commandes xaxis3 pour gérer séparément axe+graduations d'une part et étiquettes d'autre part.

Figure asymptote 3e3c790476129e41baece6295d202e90
*** 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);
  2. import solids;
  3. currentprojection=orthographic(1,2,1);
  4. xaxis3(Label("$x$",position=EndPoint,align=W,fontsize(8)),
  5. -1,16,
  6. red,
  7. OutTicks("%",end=false,Step=1),
  8. Arrow3(8bp));
  9. xaxis3(-1,16,
  10. nullpen,
  11. OutTicks(Label(fontsize(6)),OmitTickInterval(9,13),endlabel=false,Step=1));


Au passage, je rappelle l'existence de OmitTickInterval.
Mais on peut en rester à OmitTick pour cet exemple simple.

Figure asymptote fda891f80a63b58cb399dd600c7cd3e1
*** 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);
  2. import solids;
  3. currentprojection=orthographic(1,2,1);
  4. xaxis3(Label("$x$",position=EndPoint,align=W,fontsize(8)),
  5. -1,16,
  6. red,
  7. OutTicks("%",end=false,Step=1),
  8. Arrow3(8bp));
  9. xaxis3(-1,16,
  10. nullpen,
  11. OutTicks(Label(fontsize(6)),OmitTick(-1,0,12,13,16),Step=1));
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 !

etienne25
Messages : 26
Enregistré le : mar. 29 mai 2012, 00:40

Re: OmitTick avec graph3

Message non lu par etienne25 » lun. 16 juin 2014, 12:19

Ah excellent!! C'est effectivement un "conflit" entre OmitTick et NoZero. J'arrive maintenant à faire exactement ce que je veux.

Par curiosité, je reviens à mon idée 3) au début de cette discussion: comment ferait-on pour produire un axe avec une liste de graduations fournies dans une liste? Autrement dit, comment faire qqchose comme ci-dessous, mais en 3D. J'ai fait quelques essais, sans succès.

Figure asymptote 9aa0f1a4143ef558897b05115ec3e59b
*** 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. unitsize(1cm);
  3. xaxis(axis=YEquals(-2),
  4. Label("$x_2$",align=N),
  5. xmin=-1,xmax=3,blue,
  6. Ticks("%",
  7. new real[]{0,1,sqrt(2)},Size=1mm,1bp+red),
  8. Arrow);

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

Re: OmitTick avec graph3

Message non lu par GM » lun. 16 juin 2014, 18:20

etienne25 a écrit :J'ai fait quelques essais, sans succès.
Il faut bien lire les messages d'erreur pour comprendre... et chercher dans l'index, pour savoir quels paramètres sont attendus.

Figure asymptote e6577b2256568660fdcb860fd62d2a46
*** 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);
  2. import solids;
  3. currentprojection=orthographic(1,2,1);
  4. xaxis3(Label("$x$",position=EndPoint,align=W,fontsize(8)),
  5. -1,16,
  6. red,
  7. OutTicks("%",new real[]{2,3,5,6,8,9,11.33}),
  8. Arrow3(8bp));
  9. xaxis3(-1,16,
  10. nullpen,
  11. OutTicks(Label(fontsize(6)),new real[]{3,5,8,11.33}));
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 !

etienne25
Messages : 26
Enregistré le : mar. 29 mai 2012, 00:40

Re: OmitTick avec graph3

Message non lu par etienne25 » mar. 17 juin 2014, 14:16

Ah, j'avais fait qqchose de semblable, mais en mettant le tableau directement dans le OutTick, sans le "new" :oops:

Je viens de découvrir à l'instant l'index. Il faut que j'apprenne comment lire ces syntaxes générales de commandes. Et plus généralement, il me faut améliorer mes bases "théoriques" sur Asymptote. Je bloque souvent sur des détails par manque de compréhension... Par exemple, le rôle du "new" n'est pas tout à fait clair dans mon esprit, je le rencontre souvent dans les exemples que je trouve, mais disons que les présentations n'ont pas été faites entre lui et moi!

Merci encore pour l'aide apportée!

Répondre