Page 1 sur 1

N'exporter qu'une partie de la figure

MessagePosté: Mercredi 18 Avril 2007, 12:08
par MB
Bonjour, je suis toujours en train d'expérimenter Asymptote.

J'ai construit une figure (disons de taille 15x15) et en sortie je veux en récupérer qu'une partie (de taille 10x10 par exemple). J'ai regardé du côté de la commande shipout mais je n'ai rien trouvé. Je suppose que c'est quand même possible.

Quelqu'un aurait une idée ?

MessagePosté: Mercredi 18 Avril 2007, 14:46
par OG
Bonjour

avec clip ça devrait être possible. Peut-être que Ph. Ivaldi aura une autre solution.

Code: Tout sélectionner
size(15cm,15cm);
guide c1=circle((.5,.5),.5);
draw(c1);
guide c;
c=(0,0)--(10/15,0)--(10/15,10/15)--(0,10/15)--cycle;
draw(c);
clip(c);


Cordialement
O.G.

MessagePosté: Mercredi 18 Avril 2007, 16:19
par MB
Merci OG, ça fonctionne parfaitement !

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

real n=5;
real a=30;
real m=n/cos(a*pi/180);

for (int i=1; i <= n; ++i)
  {
     draw((-n,-i)--(n,-i),mediumgray);
  }

for (int i=1; i <= n+2; ++i)
  {
     draw(rotate(-a,(-i,0))*((-i,-m*1.02)--(-i,m*1.02)),mediumgray);
  } 

for (int i=1; i <= n; ++i)
  {
     draw((-n,i)--(n,i),mediumgray);
  }
 
for (int i=1; i <= n+2; ++i)
  {
     draw(rotate(-a,(i,0))*((i,-m*1.02)--(i,m*1.02)),mediumgray);
  }

draw((-n,0)--(n,0),black,Arrow);
draw(rotate(-a,(0,0))*((0,-m)--(0,m)),black,Arrow);

clip((-n*1.02,-n*1.02)--(n*1.02,-n*1.02)--(n*1.02,n*1.02)--(-n*1.02,n*1.02)--cycle);

shipout(bbox(xmargin=1mm,invisible));


asymptote_clip.png
asymptote_clip.png (24.27 Kio) Vu 1052 fois