Picture à la bonne position et la bonne taille

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Picture à la bonne position et la bonne taille

Messagepar cerise » Vendredi 08 Avril 2011, 10:13

Bonjour,

J'ai défini un objet de type picture que je souhaite ajouter à une position fixée. D'après la documentation d'Asymptote, la syntaxe est simplement
Code: Tout sélectionner
add(pic,(1,1))

si pic est ma picture et (1,1) la position à laquelle je veux la placer. Quand je fais ça, la picture est bien placée au bon endroit... en revanche, ses dimensions (que j'ai définies pour tout mon document avec unitsize) ne sont pas respectées ! Je donne un exemple :

cf2b9c5622a46cfeda464e28d0cceb3c.png

Code: Tout sélectionner
unitsize(1cm);

picture pic;

draw(pic,(0,0)--(1,1));

add(pic,(1,1));

draw ((0,1)--(1,0));

Le segment en haut à droite est tout petit, alors que je voudrais qu'il soit de la même taille que l'autre. En revanche, si je me contente d'utiliser add(pic), comme ci-dessous, le segment est bien à la bonne taille :

4207ac127040f66bd16a560c072a9c72.png

Code: Tout sélectionner
unitsize(1cm);

picture pic;

draw(pic,(0,0)--(1,1));

add(pic);

draw ((0,1)--(1,0));


J'avoue y perdre un peu mon latin...

EDIT : je précise que je peux résoudre mon problème en utilisant add(shift((1,1))*pic) au lieu de add(pic,(1,1)) ; mais, il n'empêche que j'aimerais bien comprendre pourquoi, quand on utilise add(pic,(1,1)), la valeur de unitsize n'est plus prise en compte pour le tracé.
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Publicité

Re: Picture à la bonne position et la bonne taille

Messagepar OG » Vendredi 08 Avril 2011, 11:01

Bonjour


Le unitsize ne concerne pas pic, cela peut être utile mais de toute façon ce n'est pas nécessairement la solution.

sans pic,unitsize

46ad4c399a5b624d1e34f3e5f3d6449e.png

Code: Tout sélectionner
unitsize(1cm);

picture pic;
//unitsize(pic,1cm);
draw(pic,(0,0)--(1,1));

add(pic.fit(2cm),(1,1));

draw ((0,1)--(1,0));


avec pic,unitsize

10e5f76779b443d1034480c47ad0c0ad.png

Code: Tout sélectionner
unitsize(1cm);

picture pic;
unitsize(pic,1cm);
draw(pic,(0,0)--(1,1));

add(pic.fit(),(1,1));

draw ((0,1)--(1,0));



Ajout : je pense que c'est un sujet déjà abordé ici et que la page d'exemples de Gaëtan en parle aussi.

O.G.
OG
Modérateur
 
Messages: 2276
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Picture à la bonne position et la bonne taille

Messagepar GMaths » Vendredi 08 Avril 2011, 11:13

OG a écrit:la page d'exemples de Gaëtan en parle aussi.

... notamment cet exemple. (avec une erreur de copier-coller apparemment : "// carré rouge dans f" à remplacer par "// carré rouge dans pic1". Je rectifierai ce weekend.)
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Picture à la bonne position et la bonne taille

Messagepar cerise » Vendredi 08 Avril 2011, 12:20

Merci beaucoup pour la solution !
J'avais fait des essais avec des unitsize(pic,1cm), puis plus tard avec .fit(), mais je n'ai probablement pas essayé les deux en même temps :oops: Je n'avais pas bien compris à quoi servait le .fit() et je l'avais juste testé par hasard après l'avoir vu dans des exemples.

OG a écrit:Ajout : je pense que c'est un sujet déjà abordé ici et que la page d'exemples de Gaëtan en parle aussi.

La recherche que j'ai faite sur le forum avant de poster n'a rien donné. Je n'ai peut-être pas cherché avec les bons mots-clés. Il est vrai que je n'ai pas pensé à aller regarder sur la page de Gaëtan (sur laquelle j'ai pourtant souvent trouvé solution à mes problèmes), je ne sais pas pourquoi je n'y ai pas pensé aujourd'hui.

Merci encore à vous deux en tout cas !
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités