question du forum asy

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 !
Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1434
Enregistré le : dim. 7 mars 2010, 14:50

Re: question du forum asy

Message non lu par GM » mar. 17 avr. 2012, 19:17

Je crois que je vais revoir complètement la fonction... car je viens de voir une autre chose qui ne me convient pas.
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.66)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.66-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.66-? git) + TexLive2018
Merci de préciser la votre !

OG
V.I.P.
V.I.P.
Messages : 142
Enregistré le : dim. 7 mars 2010, 22:27

Re: question du forum asy

Message non lu par OG » mar. 17 avr. 2012, 20:01

Hello
J'ai mis le code rapidos avant d'aller à une réunion sans te prévenir. Prévenir du bogue pA ok avec un diff, et
que tu travailles dessus ok mais je ne pense qu'il soit nécessaire de l'effacer.
Au niveau des labels je pense qu'il vaut mieux les placer pres du milieu de l'accolade, au niveau de
la «déformation en pic», non ?

O.G.

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

Re: question du forum asy

Message non lu par GM » mar. 17 avr. 2012, 20:26

OG a écrit :je ne pense qu'il soit nécessaire de l'effacer.

Rectifie au moins, s'il te plait, l'exemple en :
  • ajoutant le "shift(pA)*" ;
  • remplaçant "align=N" par align=LeftSide ;
  • supprimant les dernières lignes inutiles, relatives à trupoint.

Il y a tellement de conneries sur net, comme celle là : http://www.youtube.com/watch?v=ImMGuXiVM2I
(je vous préviens : cela dure 12mn48 et c'est insupportable à regarder)
que je me sens obligé de ne pas laisser d'erreur quand je peux.

OG a écrit :Au niveau des labels je pense qu'il vaut mieux les placer pres du milieu de l'accolade, au niveau de la «déformation en pic», non ?

Oui bien sûr. Ils ne sont décalés que si on le spécifie avec un Relative(...). C'était pour rappeler que c'est possible.
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.66)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.66-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.66-? git) + TexLive2018
Merci de préciser la votre !

OG
V.I.P.
V.I.P.
Messages : 142
Enregistré le : dim. 7 mars 2010, 22:27

Re: question du forum asy

Message non lu par OG » mar. 17 avr. 2012, 21:27

Bonsoir

Ok, c'est fait. Je te laisse éditer ton message et éventuellement y mettre
les nouvelles versions ou un lien.

A+
O.G.

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

Re: question du forum asy

Message non lu par GM » mer. 18 avr. 2012, 14:27

Un message pour dire que je suis reparti d'une feuille blanche...
... pour que les parties courbes restent de même taille sur toutes les accolades suffisamment grandes pour le permettre.

Aucun label pour l'instant, aucun décalage possible, etc...
mais tout sera ajouté prochainement.

On pourra jouer aussi sur au moins deux paramètres... pour décider de la forme d'accolade que l'on veut.

Donc je montre cet exemple uniquement pour dire où j'en suis.
Je m'arrête là (le travail scolaire l'oblige) et finirai cela le weekend qui vient.

Figure asymptote 7780048f766398d7f9a54024d596605e
*** 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. void cotationaccolade(picture pic=currentpicture,
  2. pair pA, pair pB,
  3. Label L = "", bool Lrot=false,
  4. real decalage=3mm,
  5. pen p=currentpen)
  6. {
  7. real a = 9mm, b=2a, h = 3mm;
  8. pic.add(new void(frame f, transform t)
  9. {
  10. picture pic2;
  11. real x=abs(t*pB-t*pA)/2;
  12. if(2a>x) { a=x/2; h=a/2;}
  13. path brace1 = (0,0).. controls (3a/10,h) and (a/2,h) ..(a,h),
  14. brace2 = (b-a,h).. controls (b-a/2,h) and (b-a/5,h) ..(b,3h/2),
  15. brace;
  16. x-=b;
  17. brace = brace1--shift(x)*(brace2);
  18. brace=brace--reverse(reflect((max(brace).x,0),(max(brace).x,1))*brace);
  19. brace=shift(t*pA)*rotate(degrees(pB-pA))*brace;
  20. transform T = Lrot ? rotate(degrees(pB - pA)) : identity();
  21. draw(pic2,Label(format("$a=%.2f$",a/mm),align=rotate(90)*dir(pB-pA)),brace,p);
  22. for(int k=1; k<size(brace)-1; ++k) dot(pic2,point(brace,k),2bp+purple);
  23. add(f, pic2.fit());
  24. },true);
  25. }
  26. ///////////////////////////////////////////////////////////
  27. ///////////////////////////////////////////////////////////
  28.  
  29. size(10cm);
  30. pair z1=(-1,0), z2=(4,0), z3=(4,-2), z4=(3.5,-2), z5=(2,-2);
  31. dot(z1^^z2^^z3^^z4^^z5,3bp+blue);
  32. cotationaccolade(z1,z2,.2bp+red);
  33. cotationaccolade(z3,z2,.2bp+red);
  34. cotationaccolade(z3,z4,.2bp+red);
  35. cotationaccolade(z4,z5,.2bp+green);
  36. cotationaccolade(z5,z1,.2bp+green);


Quand la valeur de a, n'est pas le 9mm par défaut, l'accolade a dû être modifiée sans pouvoir maintenir la forme des parties courbes communes aux autres accolades.

Merci de ne pas diffuser cet exemple... qui est très incomplet... et probablement encore bogué.
Je n'en parle que pour dire que je cherche dans une autre direction.
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.66)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.66-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.66-? git) + TexLive2018
Merci de préciser la votre !

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

Re: question du forum asy

Message non lu par GM » mer. 18 avr. 2012, 19:28

Précision supplémentaire : un tel exemple m'a convaincu que je ne pourrais arriver à faire en sorte que truepoint(SE) renvoie le point en bas à droite de l'image.

Figure asymptote e1345419d0c7ea927b9ce23112b3dee5
*** 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. size(200);
  3. draw((10,.5)--(0,0));
  4. distance(scale(6)*"Test",(0,0),(10,.5),offset=15mm);
  5. dot("nw",point(NW),SE,red);
  6. dot("se",point(SE),NW,red);
  7. dot("NW",truepoint(NW),SE,blue);
  8. dot("SE",truepoint(SE),NW,blue);
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.66)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
Mes autres PC : Ubuntu 18.04LTS - Asymptote(2.66-?? git) + TexLive2018
Mon serveur : Debian Jessie - Asymptote(2.66-? git) + TexLive2018
Merci de préciser la votre !

Répondre