Page 1 sur 1

Picture à la bonne position et la bonne taille

MessagePosté: Vendredi 08 Avril 2011, 10:13
par cerise
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é.

Re: Picture à la bonne position et la bonne taille

MessagePosté: Vendredi 08 Avril 2011, 11:01
par OG
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.

Re: Picture à la bonne position et la bonne taille

MessagePosté: Vendredi 08 Avril 2011, 11:13
par GMaths
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.)

Re: Picture à la bonne position et la bonne taille

MessagePosté: Vendredi 08 Avril 2011, 12:20
par cerise
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 !