![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(1cm,1cm); pair A=(0,0), B=(1,0), C=(0,1); draw (A--B--C);
Compétitivité-Qualité-Fiabilité-Disponibilité
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(1cm,1cm); pair A=(0,0), B=(1,0), C=(0,1); draw (A--B--C);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(1cm,1cm); pair A=(0,0), B=(1,0), C=(0,1); draw (A--B--C--cycle);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(1cm,1cm); pair [] A; A[0]=(-1, -1); A[1]=( 1, -1); A[2]=( 1, 1); A[3]=(-1, 1); draw (A[0]--A[1]--A[2]--A[3]--cycle); draw (A[0]--A[2]); draw (A[1]--A[3]);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(2cm,2cm); draw(unitsquare); dot((0,0)--(1,1)--(0,1)--(1,0)); draw((0,0)--(1,1)); draw((1,0)--(0,1));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,2cm,false); draw(unitsquare); dot((0,0)--(1,1)--(0,1)--(1,0)); draw((0,0)--(1,1)); draw((1,0)--(0,1));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
unitsize(cm); pair A=(0,0), B=(1,0), C=(0,1); path trig; trig=A--B--C--cycle; draw(trig); dot(trig,linewidth(4bp)); dot(shift(3,0)*trig,red+4bp);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(2cm,2cm); pair A, B, C; A=(0,0); B=(1,0); C=(0,1); draw(A--B--C--cycle); draw (midpoint(A--B) -- C); draw (B+0.5*(C-B) -- A); draw (interp(A,C,0.5) -- B);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(2cm,2cm); pair A, B, C; A=(0,0); B=(1,0); C=(0,1); draw(A--B--C--cycle); draw (midpoint(A--B) -- C); draw (B+0.5*(C-B) -- A); draw (interp(A,C,0.5) -- B); dot(A/3 + B/3 + C/3);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(2cm,0); pair A=(0,0), B=(1,0), C=(0,1); draw(A--B--C--cycle); draw(A--B,linewidth(4bp));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(2cm,0); pair A=(0,0), B=(1,0), C=(0,1); draw(A--B--C--cycle); draw(A--B,(red+green));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(2cm,0); pair A=(0,0), B=(1,0), C=(0,1); draw(A--B,.8white+6bp); draw(A--C,.6white+6bp); draw(B--C,.4white+6bp); draw(A--B--C--cycle,yellow);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); path p1=(0,0)--(1,1); path p2=(2,0)--(3,1); draw(p1,linewidth(5mm)); draw(p2,linewidth(5mm)); draw(p1--p2,3mm+.8blue); draw(reverse(p1)--p2,1mm+.8red);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
fill((0,0)--(0,2cm)--(2cm,0)--cycle,gray);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
filldraw((0,0)--(0,2cm)--(2cm,0)--cycle,gray);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
filldraw((0,0)--(0,2cm)--(2cm,0)--cycle,fillpen=gray,drawpen=linewidth(1mm)+.8red);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
pen[][] p={{rgb(black)}, {rgb(.8red)}}; latticeshade((0,0)--(0,2cm)--(2cm,0)--cycle,p);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
pen[][] p={{rgb(black),rgb(black)}, {rgb(red),rgb(green)}}; latticeshade((0,0)--(0,2cm)--(2cm,0)--cycle,p);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(3cm,0); pair A, B, C, D; A=(0,0); B=(1,0); C=(1,1); D=(0,1); fill(A--C--B--D--cycle,grey);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(3cm,0); pair A, B, C, D; A=(0,0); B=(1,0); C=(1,1); D=(0,1); filldraw(A--C--B--D--cycle,grey);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(3cm,0); pair A=0, B=(1,0), C=(1,1); draw("$1$",A--B); draw("$1$",B--C); draw("$\sqrt{2}$",C--A);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(3cm,0); pair A=0, B=(1,0), C=(1,1); draw("$1$",A--B); draw("$1$",B--C); // draw(rotate(dir(C--A))*"$\sqrt{2}$",C--A); draw(Label("$\sqrt{2}$",Rotate(-dir(C--A))),C--A);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(3cm,0); path g=(1,1)--(3,2); draw(Label("a text",Rotate(dir(g))), g); draw(Label("a text",red,Rotate(-dir(g)),align=I*dir(g)), g);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); draw(E--N--W--S--cycle,.5red+1mm); draw(E..N..W..S..cycle); dot(E..N..W..S..cycle,red);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair O=0; draw(circle(O,2cm)); dot(circle(O,2cm),red+4bp);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm); draw(unitcircle, dot); dotfactor*=3; draw(shift(-0.5,-0.5)*unitsquare, dot(blue,Fill(red)));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); real R=2cm; draw(scale(R)*unitcircle); dot((0,0),linewidth(4bp)); dot((R*cos(pi/6),R*sin(pi/6)),red+8bp);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); import graph; path PerfectCircle=Circle((0,0),1); draw(PerfectCircle,linewidth(2mm)); dot(PerfectCircle,.8red);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); //Return Circle AB diameter path circle(pair A, pair B) { return shift(midpoint(A--B))*scale(abs(A-B)/2)*unitcircle; } pair A=(0,0), B=(1,0); draw(circle(A,B)); dot(A--B);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(6cm,0); //Return Circle AB diameter path circle(pair A, pair B) { return shift(midpoint(A--B))*scale(abs(A-B)/2)*unitcircle; } pair A=(0,0), B=(3,0), C=(2,1); draw(A--B,.8blue); draw(A--C,.8red); draw(B--C,.8green); draw(circle(A,B),.8blue); draw(circle(A,C),.8red); draw(circle(B,C),.8green);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); //Return Circle AB diameter path circle(pair A, pair B) { return shift(midpoint(A--B))*scale(abs(A-B)/2)*unitcircle; } pair A=(0,0), B=(1,0), C=(2,0); path cleAB=circle(A,B); path cleAC=circle(A,C); for(real t=0; t<length(cleAB); t+=0.01) fill(circle(point(cleAB,t),point(cleAC,t)));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); real n=7, a=360/n; for (int i = 0; i < n; ++i) filldraw((0,0)--arc((0,0),1,i*a,(i+1)*a)--cycle, i/n*blue + (1-i/n)*green + grey);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); pair A=(0,0), B=(0,1), C=(1,0), D=(1,1); draw(A..B..C..D); dot(A);dot(B);dot(C);dot(D);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); import roundedpath; pair A=(0,0), B=(0,1), C=(1,0), D=(1,1); draw(roundedpath(A--B--C--D,.5)); dot(A--B--C--D);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); pair A=(0,0), B=(0,1), C=(1,0), D=(1,1); draw(A--B..C..D); dot(A--B--C--D);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); pair A=(0,0), B=(0,1), C=(1,0), D=(1,1); draw(A..B..C..D--cycle); dot(A);dot(B);dot(C);dot(D);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); pair A=(0,0), B=(0,1), C=(1,0), D=(1,1); draw(A---B..C..D); dot(A);dot(B);dot(C);dot(D);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); import roundedpath; draw(roundedpath(unitsquare,.4)); dot(roundedpath(unitsquare,.4),red); draw(unitsquare); dot(unitsquare);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(4cm,0); draw(A{N}..B); dot(A{N}..B);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(4cm,0); draw(A{N}..B{E}); dot(A{N}..B{E});
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(4cm,0); draw(A{dir(90)}..B{dir(0)}); dot(A{dir(90)}..B{dir(0)});
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(4cm,0); draw(A{N}..B{N}); dot(A{N}..B{N});
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(4cm,0); draw(A{N}..B{N}..cycle); dot(A{N}..B{N}..cycle);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
//From documentation of Asymptote size(0,6cm); guide center = (0,1){W}..tension 0.8..(0,0){(1,-.5)}..tension 0.8..{W}(0,-1); draw((0,1)..(-1,0)..(0,-1)); filldraw(center{E}..{N}(1,0)..{W}cycle); unfill(circle((0,0.5),0.125)); fill(circle((0,-0.5),0.125));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
//Translate from Troy Henderson Metapost code. size(8cm); draw(unitcircle, linewidth(bp)); pen p; for (int t=-88; t <= 88; t += 2) { if(t%5 == 0) { p=linewidth(bp); draw((0,1){dir (t-90)}..{dir (270-t)}(0,-1), linewidth(bp)); } else p=currentpen; draw((Cos(t),Sin(t)){dir(180+t)}..{dir(180-t)}(-Cos(t),Sin(t)), p); }
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(2cm,2cm), C=(4cm,0); draw(A..B..C); draw(A{curl 0}..B..{curl 0}C,red); dot(A--B--C);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(2cm,2cm), C=(4cm,0); draw(A..B..C,linewidth(3mm)); draw(A{curl 1}..B..{curl 1}C,2mm+.8red); dot(A--B--C);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(3cm,4cm), C=(6cm,0); draw(A..B..C); draw(A{curl 0}..B..{curl 0}C,1mm+red+grey); draw(A{curl 5}..B..{curl 0}C,1mm+green+grey); draw(A{curl 10}..B..{curl 0}C,1mm+blue+grey); draw(A{curl 10}..B..{curl 10}C,1mm+yellow+grey); dot(A--B--C);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(3cm,5cm), C=(6cm,0); defaultpen(1mm); draw(A..B..C); draw(A.. tension .75 ..B.. tension .75 ..C,grey); draw(A.. tension 1.5 ..B.. tension 1.5 ..C,.8red); draw(A.. tension 2 ..B.. tension 2 ..C,green+grey); draw(A.. tension 10 ..B.. tension 10 ..C,blue+grey); dot(A--B--C,linewidth(6bp));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(3cm,5cm), C=(6cm,0); defaultpen(1mm); draw(A..B..C); draw(A.. tension 10 and 1 ..B.. tension 1 and 10 ..C,grey); draw(A.. tension 1 and 10 ..B.. tension 10 and 1 ..C,.8red); draw(A.. tension 2 and 1 ..B.. tension 1 and 2 ..C,blue+grey); dot(A--B--C,linewidth(6bp));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(3cm,5cm), C=(6cm,0); pair ctrl_rgt_A, ctrl_lft_B, ctrl_rgt_B, ctrl_lft_C; ctrl_rgt_A=A+2cm*E; ctrl_lft_B=B+3cm*W; ctrl_rgt_B=B+3cm*E; ctrl_lft_C=C+2cm*W; draw(A..B..C); draw(A.. controls ctrl_rgt_A and ctrl_lft_B ..B.. controls ctrl_rgt_B and ctrl_lft_C ..C,1mm+grey); dot(A--B--C,linewidth(6bp)); draw((A--ctrl_rgt_A),Arrow, p=grey); draw((B--ctrl_rgt_B),Arrow, p=grey); draw((B--ctrl_lft_B),Arrow, p=grey); draw((C--ctrl_lft_C),Arrow, p=grey);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair A=0, B=(3cm,5cm), C=(6cm,0); pair ctrl_rgt_A, ctrl_lft_B, ctrl_rgt_B, ctrl_lft_C; ctrl_rgt_A=A+2cm*NE; ctrl_lft_B=B+5cm*SW; ctrl_rgt_B=B+2cm*SE; ctrl_lft_C=C+5cm*NW; draw(A..B..C); draw(A.. controls ctrl_rgt_A and ctrl_lft_B ..B.. controls ctrl_rgt_B and ctrl_lft_C ..C,1mm+grey); dot(A--B--C,linewidth(6bp)); draw((A--ctrl_rgt_A),Arrow, p=grey); draw((B--ctrl_rgt_B),Arrow, p=grey); draw((B--ctrl_lft_B),Arrow, p=grey); draw((C--ctrl_lft_C),Arrow, p=grey);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(8cm); path p1 = (0,0){up}..(5,4)..(10,0){down}; pair post0=postcontrol(p1,0); pair pre1=precontrol(p1,1); pair post1=postcontrol(p1,1); pair pre2=precontrol(p1,2); dot(post0^^pre1^^post1^^pre2); path p2 = (0,0)..controls post0 and pre1..(5,4)..controls post1 and pre2..(10,0); draw(p1,2mm+red); draw(p2,linewidth(1mm));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); path pt1=scale(2cm)*unitcircle; path pt2=scale(1cm)*unitcircle; draw(pt1^^pt2); dot(pt1^^pt2);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); path cle=scale(2cm)*unitcircle; draw(cle); for(real i=0; i<=length(cle); i+=.2) { dot(point(cle,i)); draw((0,0)--point(cle,i),dotted); }
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(8cm,0); pair O=(0,0); path p=(0,0){dir(0)}..{dir(45)}(2,2){dir(-45)}..{dir(0)}(4,0); pair En1=dir(p, 1, -1); pair En2=dir(p, 2, -1); draw(p); draw(Label("dir(p,1,-1)", EndPoint), point(p,1)--point(p,1)+En1, red, Arrow); draw(Label("dir(p,2,-1)", EndPoint), point(p,2)--point(p,2)+En2, red, Arrow); pair Ep0=dir(p, 0, 1); pair Ep1=dir(p, 1, 1); draw(Label("dir(p,0,1)", EndPoint), point(p,0)--point(p,0)+Ep0, blue, Arrow); draw(Label("dir(p,1,1)", EndPoint, E), point(p,1)--point(p,1)+Ep1, blue, Arrow); draw(p, dot);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(10cm,0); path curv=reverse((0,2){dir(10)}..(1,0)..{dir(-50)}(3,2)); guide dirc; draw(curv,linewidth(1mm)+grey); for(real i=0; i<=length(curv); i+=.005) { draw(point(curv,i)--dir(curv,i)+point(curv,i),grey+yellow); dirc=dirc..dir(curv,i)+point(curv,i); } draw(dirc,grey);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
// Author: John Bowman pair[] z=new pair[10]; z[0]=(0,100); z[1]=(50,0); z[2]=(180,0); for(int n=3; n <= 9; ++n) z[n]=z[n-3]+(200,0); path p=z[0]..z[1]---z[2]---z[3] &z[3]..z[4]--z[5]::{up}z[6] &z[6]::z[7]---z[8]..{up}z[9]; defaultpen(linewidth(1)); draw(p, grey); dot(p); real len=50; for(int i = 0; i < z.length; ++i) { pair z=point(p,i); draw(z--z+len*dir(p,i,-1),red); draw(z--z+len*dir(p,i,1),blue+dashed); draw(z-len*dir(p,i)--z+len*dir(p,i),green+Dotted(defaultpen())); }
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(10cm,0); import math; path cle=unitcircle; path curv=reverse((1.5,2){dir(-60)}..(2.5,0)..{dir(60)}(3.5,2)); draw(cle); draw(curv); pair pt_cle=point(cle, 1.35); pair pt_dir_cle=dir(cle, 1.35); drawline((pt_cle - pt_dir_cle), (pt_cle + pt_dir_cle), red); pair pt_curv=point(curv, dirtime(curv, pt_dir_cle)); drawline((pt_curv - pt_dir_cle), (pt_curv + pt_dir_cle), blue);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); pair O=(2cm,2cm); path cle=shift(O)*scale(2cm)*unitcircle; pair M=point(cle,.6); dot("$O$",O,SW); dot("$M$",M,unit(M-O)); draw(cle); draw((0,0)--(0,4cm),Arrow); draw((0,0)--(4cm,0),Arrow); draw(Label("$X_M$",position=EndPoint),M--(xpart(M),0),dotted); draw(Label("$Y_M$",position=EndPoint),M--(0,ypart(M)),dotted);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); path p= (5mm,-5mm){right} .. (2cm,0); for(int i=10; i<360; i+=10) draw(rotate(i)*p); draw(p,red+1mm);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); path p= (1,-1){right} .. (4,0); pair O=(3,.25); for(int i=10; i<360; i+=10) draw(rotate(i,O)*p); dot(O,blue); draw(p,red+1mm);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); path cle=unitcircle; draw(cle,red); draw(xscale(2)*cle); draw(yscale(2)*cle); draw(scale(2)*cle,blue);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(8cm,0); transform scale(pair center, real k) { return shift(center)*scale(k)*shift(-center); } path cle=unitcircle; pair A=(4,0); draw(cle); draw(scale(A,.5)*cle,red); draw(scale(A,-.75)*cle,blue); for (real t; t<length(cle); t+=1) draw(point(cle,t)--point(scale(A,-.75)*cle,t),dotted); dot("$A$",A,N);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
//Translate from http://zoonek.free.fr/LaTeX/Metapost/metapost.html size(0,0); pair inversion(pair O, real k, pair M) { return (O + k*unit(M-O)/abs(M-O)); } guide inversion(pair O, real k, path M) { guide opath=inversion(O,k,point(M,0)); for (real i=0; i<=length(M); i+=length(M)/100) opath = opath .. inversion(O,k,point(M,i)); return opath .. cycle; } real u=8cm; path [] p; path A = scale(u)*unitcircle; path B = scale(3)*A; pair z = rotate(10)*(5u,0); draw(inversion( z, 2*u^2, A ),linewidth(1pt)); draw(inversion( z, 2*u^2, B ),linewidth(1pt)); p[0] = shift(2u,0)*scale(u)*unitcircle; for (int i=0; i<=5; ++i) { if (i!=0) p[i] = rotate(360/6)*p[i-1]; draw(inversion( z, 2 (u^2), p[i] )); }
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
//Translate from http://zoonek.free.fr/LaTeX/Metapost/metapost.html size(0,0); pair [] P, Q, R, S; real u=1cm; for (int i=0; i<=4; ++i) P[i] = rotate(i*360/5)*(0,-u); P[5] = P[0]; for (int i=0; i<=4; ++i) Q[i] = 3*midpoint(P[i]--P[i+1]); Q[5] = Q[0]; for (int i=0; i<=4; ++i) R[i] = 1/3*( Q[i] + Q[i+1] + P[i+1] ); R[5] = R[0]; for (int i=0; i<=5; ++i) S[i] = 1.5*Q[i]; for (int i=0; i<=4; ++i) { draw(P[i] -- P[i+1]); draw(P[i+1] -- R[i]); draw(Q[i] -- R[i]); draw(R[i] -- Q[i+1]); draw(Q[i] -- S[i]); draw(S[i] -- S[i+1]); label(format("\small$P_%i$",i),P[i],-unit(P[i])); label(format("\small$Q_%i$",i),Q[i],rotate(60)*unit(Q[i])); label(format("\small$R_%i$",i),R[i],unit(R[i])); label(format("\small$S_%i$",i),S[i],unit(S[i])); }
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
//Translate from http://zoonek.free.fr/LaTeX/Metapost/metapost.html size(0,0); pair [] P, Q, R, S; real u=1cm; for (int i=0; i<=4; ++i) P[i] = rotate(i*360/5)*(0,-u); P[5] = P[0]; for (int i=0; i<=4; ++i) Q[i] = 3*midpoint(P[i]--P[i+1]); Q[5] = Q[0]; for (int i=0; i<=4; ++i) R[i] = 1/3*( Q[i] + Q[i+1] + P[i+1] ); R[5] = R[0]; for (int i=0; i<=5; ++i) S[i] = 1.5*Q[i]; for (int i=0; i<=4; ++i) { draw(P[i] -- P[i+1]); draw(P[i+1] -- R[i]); draw(Q[i] -- R[i]); draw(R[i] -- Q[i+1]); draw(Q[i] -- S[i]); draw(S[i] -- S[i+1]); } draw(P[2] -- P[3] -- P[4] -- P[0] -- P[1] -- R[0] -- Q[0] -- R[4] -- Q[4] -- R[3] -- Q[3] -- R[2] -- Q[2] -- S[2] -- S[3] -- S[4] -- S[0] -- S[1] -- Q[1] -- R[1] -- cycle, linewidth(2bp));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(4cm,0); path apath=(0,0)..(1,1)..(2,-1){dir(-90)}; draw(apath); dot(apath); dot(point(apath,length(apath)),.8green+8pt); draw(point(apath,0)--point(apath,1)--point(apath,2),.8red); draw(point(apath,0.5)--point(apath,1.5)--point(apath,2.5),.8blue);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(10cm,0); texpreamble("\usepackage{amsmath}"); path p = (0,0)..(1,1)..(2,.5){dir(0)}; real al = arclength(p); real l = length(p); pair pt = point(p,l/2); pair apt = arcpoint(p,al/2); draw(p); draw(subpath(p,0,arctime(p,al/2)),blue); dot(pt,red); dot(apt,blue); arrow("$\frac{\text{lenght(p)}}{2}$",pt,SSE,1cm); arrow("$\frac{\text{arclenght(p)}}{2}$",apt,SSW,1cm); label("\small The sizes of the blue path and the black path are equal",(1,.25));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(10cm,0); path apath=(0,0)..(1,1)..(2,.5){dir(0)}; real l=arclength(apath); real step=l/15; path arcpath(path apath, real t1, real t2) { return subpath(apath, arctime(apath,t1), arctime(apath,t2)); } for(real i=0; i<l-step; i+=step) draw(arcpath(apath,i,i+step),4bp+(i/l*red+(l-i)/l*blue),PenMargins); draw(apath);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
unitsize(5cm); string text="A text along a curve"; path p=(0,0)..(1,1)..(2,0.5){dir(0)}; int n=length(text); real at=0; real step=arclength(p)/n; for (int i=0; i<n; ++i){ real t=arctime(p,at); label(rotate(degrees(angle(dir(p,t),false)))*scale(3)*baseline(substr(text,i,1)),point(p,t)); at += step; } draw(p,lightgrey);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(6cm,0); import math; pair A=(0,-.5), B=A+dir(45); pair C=(0,1), D=C+5dir(20); pair I=extension(A,B,C,D); path AB=A--B; path CD=C--D; draw(AB^^CD); dot("$I$",I,N,red); draw(B--I,1pt+dotted); dot("$A$",A,SE); dot("$B$",B,SE); dot("$C$",C,N); dot("$D$",D,N);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(6cm,0); import math; pair A=(0,-.5), B=A+dir(45); pair C=(0,1)+2dir(20); path cle=shift(C)*scale(1)*unitcircle; pair I1=intersectionpoint(A--interp(A,B,2),cle); pair I2=intersectionpoint(A--interp(A,B,10),cle); path AB=A--B; draw(AB^^cle); dot(I1^^I2,red); draw(B--I2,1pt+dotted);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(6cm,0); path Line(pair A, pair B) { return interp(A,B,-100000/arclength(A--B))--interp(A,B,100000/arclength(A--B)); } path Parallel(pair A, pair dir) { return Line(A,A+dir); } pair A=0, B=(1,0), C=(.7,.7); draw(A--B, .8red); draw(A--C, .8green); draw(B--C, .8blue); label("$A$",A,SW); label("$B$",B,SE); label("$C$",C,N); pair Ap=intersectionpoint(Parallel(B, A-C), Parallel(C, A-B)); pair Bp=intersectionpoint(Parallel(A, B-C), Parallel(C, A-B)); pair Cp=intersectionpoint(Parallel(A, B-C), Parallel(B, A-C)); draw(Ap--Bp, .8red); draw(Ap--Cp, .8green); draw(Bp--Cp, .8blue); label("$A'$",Ap,NE); label("$B'$",Bp,NW); label("$C'$",Cp,S);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(6cm,0); path p = (0,0){up} .. (2cm,0){up}; path q = (0,1cm){dir(-60)}..(1cm,-1cm)..{dir(60)}(2cm,1cm); draw(p, red); draw(q, blue); dot(intersectionpoint(p,q)); draw(point(p, intersect(p,q)[0])--postcontrol(p, intersect(p,q)[0]), .8red,Arrow); draw(point(q, intersect(p,q)[1])--postcontrol(q, intersect(p,q)[1]), .8blue,Arrow);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
import graph; size(6cm,0); path a = polargraph(new real(real t){return t;}, 0, 3pi, operator ..); path b = polargraph(new real(real t){return 2t;}, 0, 3.75pi, operator ..); real sharp=40; path c=relpoint(a,1){relpoint(a,1)-postcontrol(a,length(a)-1)}..{dir(sharp)}relpoint(b,1); fill(a..c..reverse(b)&cycle,0.8*red); shipout(bbox(2mm, Fill(0.15*blue)));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(6cm,0); defaultpen(2mm+linecap(0)); path p = (0,0){up} .. (2cm,0){up}; path q = (0,1cm){dir(-60)}..(1cm,-1cm)..{dir(60)}(2cm,1cm); draw(firstcut(p,q).before, .8red); draw(firstcut(p,q).after, .8blue); draw(lastcut(q,p).before, .8green); draw(lastcut(q,p).after, .8yellow);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(6cm,0); defaultpen(2mm+linecap(0)); path p = (0,0){up} .. (2cm,0){up}; path q = (0,1cm){dir(-60)}..(1cm,-1cm)..{dir(60)}(2cm,1cm); real[] ipq=intersect(p,q); real[] iprq=intersect(p,reverse(q)); draw(subpath(p, 0, ipq[0]), .8red); draw(subpath(p, ipq[0], iprq[0]), .5red); draw(subpath(p, iprq[0], length(p)), .3red); draw(subpath(reverse(q), 0, iprq[1]), .8green); draw(subpath(reverse(q), iprq[1], length(q)-ipq[1]), .5green); draw(subpath(reverse(q), length(q)-ipq[1], length(q)), .3green);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
//Translate from http://zoonek.free.fr/LaTeX/Metapost/metapost.html size(0,0); defaultpen(linewidth(1bp)); real u=3cm; pair A, B, C, D, E; path p, q, r; A = u*up; p = interp(A, rotate(72)*A, -.2) -- interp(A, rotate(72)*A,1.2); for(int i=0; i<=5; ++i) draw(rotate(72i)*p); B = midpoint(A--rotate(72)*A ); C = .8*B; p = B --- C .. (rotate(2*72)*C){right}; // On allonge le chemin p p = (point(p,0) - 4mm*dir(p,0.001)) -- point(p,0) & p & point(p,2) -- (point(p,2) + 4mm*dir(p,2)); E = intersectionpoint(p, rotate(72)*p); q = firstcut(p,shift(E)*scale(2mm)*unitcircle).before; r = lastcut(p,shift(E)*scale(2mm)*unitcircle).after; for(int i=0; i<=4; ++i) { draw(rotate(72i)*q); draw( rotate(72i)*r); draw(rotate(72i)*A,linewidth(4bp)); draw(rotate(72i)*B,linewidth(4bp)); draw(rotate(72i)*C,linewidth(4bp)); }
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
// Venn diagram // Diagramme de Venn // Edwards' construction // Construction d'Edwards import roundedpath; size(10cm,0); path [] EdVenn(int n) { path [] opath; if (n>=1) opath.push(shift(-1.4,-.9)*roundedpath(xscale(2.8)*yscale(.9)*unitsquare,.1)); if (n>=2) opath.push(shift(0,-.9)*roundedpath(xscale(1.4)*yscale(1.8)*unitsquare,.1)); if (n>=3) opath.push(scale(.5)*unitcircle); for (int i=1; i<=n-3; ++i) { pair pcle=point(opath[2],1/(2^i)), ccle=intersectionpoint(pcle--(pcle-dir(opath[2],1/(2^i))), (0,0)--(1,0)); path cle=shift(ccle)*scale(abs(pcle-ccle))*unitcircle; real[] p1=intersect(cle, opath[2]); path ocle=subpath(cle,-p1[0],p1[0]); guide tpath; real step=360/(2^i), a=0; for (int j=0; j<2^i; ++j) { tpath=tpath..rotate(a)*ocle; a+=step; } opath.push(tpath..cycle); } return opath; } draw(EdVenn(6));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(15cm,0); srand(rand()); path p1 = randompath(9); path p2 = randompath(8); real Minx=min(min(p1).x,min(p2).x); real Maxx=max(max(p1).x,max(p2).x); real Miny=min(min(p1).y,min(p2).y); pair[] inter=intersectionpoints(p1,p2); int nb=inter.length; for (int i=0 ; i<nb; ++i) { dot(inter[i]); label("$" + (string) i +"$", inter[i],N); } draw(p1,.8red); draw(p2,.8green); label("I found " + (string) nb + " points of intersection.",((Maxx+Minx)/2,Miny),2S);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(8cm,0); pair[] self_intersection(path p, int n=100) { pair[] rpair=new pair[]; path tpath; real [] tpoint; real l=length(p); int i=1; for (real t1=0; t1<l ; t1+=l/n) { for (real t2=t1+2*l/n; t2<l; t2+=l/n) { tpoint=intersect(subpath(p,t1,t1+l/n), subpath(p,t2,t2+l/n)); if (tpoint.length == 2) { rpair[i]=point(subpath(p,t1,t1+l/n),tpoint[0]); ++i; } } } return rpair; } void dott(pair[] pt, pen p) { for (int i=1 ; i<pt.length; ++i) { dot(pt[i], p); } } srand(rand()); path p = randompath(15); pair[] inter=self_intersection(p); dott(inter, .8red); draw(p);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
//Translate from http://zoonek.free.fr/LaTeX/Metapost/metapost.html size(6cm,0); path a,b,c,d; a = (-1,-.2){up} .. tension 1.2 .. (1,-.2){down}; transform r90=rotate(90); b = r90*a; c = r90*b; d = r90*c; path bound=buildcycle(a,b,c,d); fill(bound, lightgrey); draw(a^^b^^c^^d,grey); draw(bound);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(6cm,0); path a,b,c; a = shift(1,0)*scale(2)*unitcircle; b = rotate(120)*a; c = rotate(120)*b; fill(a, red); fill(b, green); fill(c, blue); fill(buildcycle(a,b), red + green); fill(buildcycle(b,c), green + blue); fill(buildcycle(c,a), blue + red); fill(buildcycle(a,b,c), white); draw(a^^b^^c);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); path pt1=scale(2cm)*unitcircle; path pt2=scale(1cm)*unitcircle; filldraw(pt1^^pt2,yellow+.9white);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); path pt1=scale(2cm)*unitcircle; path pt2=scale(1cm)*unitcircle; filldraw(pt1^^pt2,evenodd+yellow+.9white);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); path pt1=scale(2cm)*unitcircle; path pt2=scale(1cm)*unitcircle; path pt3=shift(0,.5cm)*pt2; filldraw(pt1^^pt2^^pt3,evenodd+yellow+.9white);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(0,0); path pt1=scale(2cm)*unitcircle; path pt2=scale(1cm)*unitcircle; path pt3=shift(0,1.5cm)*pt2; filldraw(pt1^^pt2^^pt3,evenodd+yellow+.9white);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
size(12cm,0); import geometry; import base_pi; dotfactor*=2; currentcoordsys=cartesiansystem((0,0),i=(1,0.5),j=(-1,1)); coordsys Rp=currentcoordsys; show("$O'$","$\vec{u}$","$\vec{v}$", Rp, xpen=invisible); path cle=randompath(20); draw(cle); point A=(0,1.5), B=(1,-0.5); line l=line(A,B); draw(l); /* View the definition of pair[] intersectionpoints(line,path) */ dot(intersectionpoints(l,cle));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
import geometry; size(5cm,0); point M=(1,1); point N=(0.25,0.28); point P=(0.75,0.66); path g=origin--M; line l=line(origin,M); pen p=linewidth(5mm); draw(l,p); dot(N,p+red); dot(N,blue); dot(P,p+red); dot(P,blue); draw(box(origin,(1,1)),invisible); /* View the definition of bool @(point,line) */ write(N@l);// Return 'false' /* View the definition of bool onpath(picture,path,point,pen) */ write(onpath(g,N,p));// Return 'true' write(onpath(g,P,p));// Return 'false'
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
import geometry; size(8cm,0); currentcoordsys=cartesiansystem((0,0),i=(1,1),j=(-0.5,.75)); show("","$\vec{u}$", "$\vec{v}$", currentcoordsys, ipen=blue); show(defaultcoordsys); point A=(0,0); real R=2; /* View the definition of struct circle */ circle C=circle(A,R); draw(C,1.5mm+red); circle Cp=circle(point(defaultcoordsys,A),R); draw(Cp,0.75mm+blue); // One can draw in the 'currentcoordsys' a circle definided in // the 'defaultcoordsys' /* View the definition of path *(coordsys,path) */ draw(currentcoordsys*Cp, red+blue);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
import tube; import graph; size(12cm,0); currentprojection=perspective(4,3,6); real f(real t) {return cos(2*t);} path g=polargraph(f,0,2pi,10,operator ..)&cycle; path3 p=path3(scale(20)*g); draw(tube(p,rotate(60)*polygon(3)), 0.8*red); draw(tube(shift(Z)*p,scale(0.25)*unitcircle), orange); draw(shift(1.25*Z)*p);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
import tube; import graph; size(12cm,0); currentprojection=perspective(0,3,6); real f(real t) {return cos(2*t);} path g=polargraph(f,0,2pi,10,operator --)&cycle; path3 p=path3(scale(20)*g); draw(tube(p,2W--2E), red, bp+black); draw(tube(p,unitcircle), orange, bp+black);
![]() |
|
(Compiled with Asymptote version 1.87svn-r4652) |
size(10cm,0); transform r60=rotate(60); pair A=(sqrt(3)/2,-.5); pair B=r60*A, C=r60*B, D=r60*C, E=r60*D, F=r60*E; path AB=A{dir(90)}..(.6,.5)..B{dir(0)}; path DE=shift(E-A)*reverse(AB); path BC=B{dir(45)}..(.75,.7){dir(150)}..{dir(135)}(.65,.75){dir(70)}..(.5,1.25)..C{dir(255)}; path EF=shift(F-B)*reverse(BC); path CD=C{dir(255)}..(-.4,.5){dir(200)}..D{dir(160)}; path FA=shift(A-C)*reverse(CD); draw(A--B--C--D--E--F--cycle,linewidth(2pt)); draw(AB,2pt+.8red); draw(DE,2pt+.8red); draw(BC,2pt+.8blue); draw(EF,2pt+.8blue); draw(CD,2pt+.8green); draw(FA,2pt+.8green); picture hexa; picture eye; filldraw(hexa,AB--BC--CD--DE--EF--FA--cycle,black,white); filldraw(eye,rotate(5)*xscale(.4)*unitcircle,white); filldraw(hexa,subpath(AB,1,2)--subpath(BC,0,2){dir(225)}..{dir(245)}cycle,.1red+yellow,white); draw(hexa,point(BC,0.1){dir(115)}.. (.8,.55) ..(.6,.65){dir(180)},yellow+grey); filldraw(eye,rotate(5)*xscale(.4)*unitcircle,white); fill(eye,rotate(5)*shift(0,-.1)*xscale(.25)*scale(.5)*unitcircle); add(hexa,shift(.6,.9)*scale(.1)*eye); add(shift(3,0)*hexa);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(200); pen[] p={red,green,blue,magenta}; path g=(0,0){dir(45)}..(1,0)..(1,1)..(0,1)..cycle; tensorshade(g,p); dot(g);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(200); pair z0=(0,0); pair z1=(0.5,3); pair z2=(2,1); path g=z0..z1..z2; pair d0=dir(g,0); pair d1=dir(g,1); draw(Label("$\omega_0$",1),z0-d0..z0+d0,blue+dashed,Arrow); draw(Label("$\omega_1$",1),z1-d1..z1+1.5d1,blue+dashed,Arrow); draw(z0--interp(z0,z1,1.5),dashed); draw(subpath(g,0,1),blue); draw("$\theta$",arc(z0,0.4,degrees(z1-z0),degrees(d0)),red,Arrow, EndPenMargin); draw("$\phi$",arc(z1,1.05,degrees(z1-z0),degrees(d1)),red,Arrow, EndPenMargin); dot("$z_0$",z0,SW,red); dot("$z_1$",z1,SE,red);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(200); pair z0=(0,0); pair z1=(1,2); pair z2=(2,1); path g=z0..z1..z2; label("$\ell_k$",z0--z1); draw("$\ell_{k+1}$",z1--z2,dashed); draw(z0--interp(z0,z1,1.5),dashed); pair d1=dir(g,1); draw(z1-d1..z1+d1,blue+dashed); draw(g,blue); draw(Label("$\theta_k$",0.4),arc(z1,0.4,degrees(z2-z1),degrees(d1)),blue,Arrow, EndPenMargin); draw("$\phi_k$",arc(z1,0.4,degrees(d1),degrees(z1-z0),CCW),Arrow, EndPenMargin); dot("$z_{k-1}$",z0,red); dot("$z_k$",z1,NW,red); dot("$z_{k+1}$",z2,red);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ import beziercurve; pair midpoint(pair a, pair b) {return interp(a,b,0.5);} pair m0=midpoint(z0,c0); pair m1=midpoint(c0,c1); pair m2=midpoint(c1,z1); draw(m0--m1--m2,dashed); dot("$m_0$",m0,NW,red); dot("$m_1$",m1,N,red); dot("$m_2$",m2,red); pair m3=midpoint(m0,m1); pair m4=midpoint(m1,m2); pair m5=midpoint(m3,m4); draw(m3--m4,dashed); dot("$m_3$",m3,NW,red); dot("$m_4$",m4,NE,red); dot("$m_5$",m5,N,red);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(400); pair z0=(0,0); pair c0=(1,1); pair c1=(2,1); pair z1=(3,0); draw(z0..controls c0 and c1 .. z1,blue); draw(z0--c0--c1--z1,dashed); dot("$z_0$",z0,W,red); dot("$c_0$",c0,NW,red); dot("$c_1$",c1,NE,red); dot("$z_1$",z1,red);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(0,200); import graph; pair z0=(0,0); pair m0=(0,1); pair tg=(1.5,0); pair mt=m0+tg; pair tf=(3,0); draw(m0--mt{dir(-70)}..{dir(0)}2tg+m0/4); xtick("$T_g$",tg,N); label("$M(t)$",mt,2NE); labely("$M_0$",m0); xaxis(Label("$t$",align=2S),Arrow); yaxis(Arrow);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ draw((0,0){up}::(100,25){right}::(200,0){down});
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(7cm,0); pair z1=(1,-0.25); pair v1=dir(45); pair z2=-z1; pair v2=0.75*dir(260); pair z3=(z1.x,-3); // A centered random number real crand() {return unitrand()-0.5;} guide g; pair lastz; for(int i=0; i < 60; ++i) { pair z=0.75*lastz+(crand(),crand()); g=g..2.5*z; lastz=z; } g=shift(0,-.5)*g..cycle; draw(g,gray(0.7)); draw("$r$",z1--z2,RightSide,red,Arrows,DotMargins); draw(z1--z1+v1,Arrow); draw(z2--z2+v2,Arrow); draw(z3--z3+v1-v2,green,Arrow); dot("1",z1,S,blue); dot("2",z2,NW,blue);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ draw((0,0){up}..(100,25){right}..(200,0){down});
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(300,0); pair[] z=new pair[10]; z[0]=(0,100); z[1]=(50,0); z[2]=(180,0); for(int n=3; n <= 9; ++n) z[n]=z[n-3]+(200,0); path p=z[0]..z[1]---z[2]::{up}z[3] &z[3]..z[4]--z[5]::{up}z[6] &z[6]::z[7]---z[8]..{up}z[9]; draw(p,grey+linewidth(4mm)); dot(z);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(200); pen convex=makepen(scale(10)*polygon(8))+grey; draw((1,0.4),convex); draw((0,0)---(1,1)..(2,0)--cycle,convex); pen nonconvex=scale(10)* makepen((0,0)--(0.25,-1)--(0.5,0.25)--(1,0)--(0.5,1.25)--cycle)+red; draw((0.5,-1.5),nonconvex); draw((0,-1.5)..(1,-0.5)..(2,-1.5),nonconvex);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(200); real mexican(real x) {return (1-8x^2)*exp(-(4x^2));} int n=30; real a=1.5; real width=2a/n; guide hat; path solved; for(int i=0; i < n; ++i) { real t=-a+i*width; pair z=(t,mexican(t)); hat=hat..z; solved=solved..z; } draw(hat); dot(hat,red); draw(solved,dashed);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(100,0); draw((1,0){up}..{left}(0,1),Arrow);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(0,100); path unitcircle=E..N..W..S..cycle; path g=scale(2)*unitcircle; label("$a \le r \le b$"); radialshade(unitcircle^^g,yellow+evenodd,(0,0),1.0,yellow+brown,(0,0),2);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ // example file for 'roundedpath.asy' // written by stefan knorr // import needed packages import roundedpath; // define open and closed path path A = (0,0)--(10,10)--(30,10)--(20,0)--(30,-10)--(10,-10); path B = A--cycle; draw(shift(-60,0)*A, green); draw(shift(-30,0)*roundedpath(A,1), red); // draw open path and some modifications for (int i = 1; i < 20; ++i) draw(roundedpath(A,i/4), rgb(1 - i*0.049, 0, i*0.049) + linewidth(0.5)); draw(shift(-60,-30)*B, green); draw(shift(-30,-30)*roundedpath(B,1), red); //draw closed path and some modifications for (int i = 1; i < 20; ++i) // only round edges draw(shift(0,-30)*roundedpath(B,i/4), rgb(0.5, i*0.049,0) + linewidth(0.5)); for (int i = 1; i < 20; ++i) // round edged and scale draw(shift(0,-60)*roundedpath(B,i/4,1-i/50), rgb(1, 1 - i*0.049,i*0.049) + linewidth(0.5)); for (int i = 1; i < 50; ++i) // shift (round edged und scaled shifted version) draw(shift(-30,-60)*shift(10,0)*roundedpath(shift(-10,0)*B,i/10,1-i/80), rgb( i*0.024, 1 - i*0.024,0) + linewidth(0.5)); for (int i = 1; i < 20; ++i) // shift (round edged und scaled shifted version) draw(shift(-60,-60)*shift(10,0)*roundedpath(shift(-10,0)*B,i/4,1-i/50), gray(i/40));
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(3cm); draw((0,0)--(1,0)--(1,1)--(0,1)--cycle);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(100); import math; int n=5; path p; int i=0; do { p=p--unityroot(n,i); i=(i+2) % n; } while(i != 0); filldraw(p--cycle,red+evenodd);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(100); guide g=(0,0)..controls(70,30) and (-40,30)..(30,0); latticeshade(g,stroke=true,linewidth(10), new pen[][] {{red,orange,yellow},{green,blue,purple}});
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(200); pen[][] p={{red,green,blue,cyan},{blue,green,magenta,rgb(black)}}; path G=(0,0){dir(-120)}..(1,0)..(1,1)..(0,1)..cycle; path[] g={G,subpath(G,2,1)..(2,0)..(2,1)..cycle}; pair[][] z={{(0.5,0.5),(0.5,0.5),(0.5,0.5),(0.5,0.5)},{(2,0.5),(2,0.5),(1.5,0.5),(2,0.5)}}; tensorshade(g,p,z); dot(g);
![]() |
|
(Compiled with Asymptote version 2.14svn-r5318) |
/* This code comes from The Official Asymptote Gallery */ size(0,25cm); guide center=(0,1){W}..tension 0.8..(0,0){(1,-.5)}..tension 0.8..{W}(0,-1); draw((0,1)..(-1,0)..(0,-1)); filldraw(center{E}..{N}(1,0)..{W}cycle); unfill(circle((0,0.5),0.125)); fill(circle((0,-0.5),0.125));