Unitsize et picture

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 !
cerise
Messages : 6
Enregistré le : ven. 7 sept. 2012, 20:00

Unitsize et picture

Message non lu par cerise » lun. 24 sept. 2012, 10:28

Pour expliquer mon problème, je vais commencer par un exemple.
Mettons que j'aie un fichier, dans lequel je fixe une taille unité au moyen de unitsize, et dans lequel je déclare des objets de type picture, par exemple :

Code : Tout sélectionner

unitsize(1cm);

picture mon_joli_dessin;
unitsize(mon_joli_dessin,1cm);

Je suis obligée de mettre cette ligne unitsize(mon_joli_dessin,1cm); pour que mon_joli_dessin ait la taille que je veux, lorsque je le dessine via la commande add (avec une syntaxe du type add(mon_joli_dessin.fit(),(n,m)) pour le placer à la position (n,m)). Même si je veux que la picture ait la même longueur d'unité que celle définie pour le reste de mon document.

Là où le fait de devoir rajouter cette ligne m'embête beaucoup, c'est quand je veux définir des objets picture dans un fichier annexe, afin de pouvoir les utiliser dans plusieurs documents différents, avec éventuellement des unitsize différents.

Ma question est la suivante : peut-on faire en sorte que l'unité par défaut d'une picture soit la même que celle du reste du document ? Un moyen de faire ça serait de pouvoir récupérer l'unité "courante", est-ce possible ?

En espérant avoir été assez claire... Merci d'avance pour votre aide.

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

Re: Unitsize et picture

Message non lu par GM » lun. 24 sept. 2012, 14:01

Si j'ai bien compris... ne suffit-il pas de ne pas donner d'unité à l'image ajoutée ?

Figure asymptote 370dccae8a35355eb4e3094b47821d1e
*** 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. unitsize(1cm);
  2. draw(unitsquare);
  3.  
  4. picture pic;
  5. draw(pic,unitcircle);
  6.  
  7. add(pic);
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 !

cerise
Messages : 6
Enregistré le : ven. 7 sept. 2012, 20:00

Re: Unitsize et picture

Message non lu par cerise » lun. 24 sept. 2012, 14:38

Cela ne fonctionne malheureusement pas dès que l'on veut ajouter la picture à une autre position que la position par défaut...

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

Re: Unitsize et picture

Message non lu par GM » lun. 24 sept. 2012, 15:09

J'ai l'impression que l'on ne pourra pas faire beaucoup plus court que cela :

Figure asymptote bc889f1298046362ef7329be82994e3f
*** 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. real u=1cm;
  2. unitsize(u);
  3. draw(unitsquare);
  4.  
  5. picture pic1; unitsize(pic1,u);
  6. draw(pic1,unitcircle);
  7.  
  8. picture pic2; unitsize(pic2,u);
  9. draw(pic2,(0,0)--(1,0)--(1,1)--cycle);
  10.  
  11. add(pic1.fit(),(3,2));
  12. add(pic2.fit(),(-2,0));


Ainsi le changement de u se répercute aux autres images.
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 !

cerise
Messages : 6
Enregistré le : ven. 7 sept. 2012, 20:00

Re: Unitsize et picture

Message non lu par cerise » lun. 24 sept. 2012, 15:28

Merci pour ta réponse, et pour le temps que tu as passé à chercher une solution à mon problème !

J'avais pensé à cette solution, qui n'est pas idéale non plus lorsque on a plusieurs fichiers, un avec la définition des picture, et d'autres qui importent celui-ci. Mais je m'en contenterai, ou alors j'utiliserai la syntaxe :

Code : Tout sélectionner

add(shift((m,n))*mon_joli_dessin)

Répondre