🔗Asymptote Gallery Tagged by “Path” #68
🔗generalities-fig014

Show generalities/fig0140.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Size
size(6cm,6cm); pair A=(0,0), B=(1,0), C=(0,1); draw (A--B--C);
🔗generalities-fig015

Show generalities/fig0150.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Size
size(6cm, 6cm); pair A=(0,0), B=(1,0), C=(0,1); draw (A--B--C--cycle);
🔗generalities-fig016

Show generalities/fig0160.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Array | #Path
size(6cm, 6cm); 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]);
🔗generalities-fig017

Show generalities/fig0170.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Point/Dot | #Path | #Size
size(6cm,6cm); draw(unitsquare); dot((0,0)--(1,1)--(0,1)--(1,0)); draw((0,0)--(1,1)); draw((1,0)--(0,1));
🔗generalities-fig018

Show generalities/fig0180.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Point/Dot | #Path | #Size
size(6cm,3cm,false); draw(unitsquare); dot((0,0)--(1,1)--(0,1)--(1,0)); draw((0,0)--(1,1)); draw((1,0)--(0,1));
🔗generalities-fig020

Show generalities/fig0200.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Point/Dot | #Line type | #Transform/scale/shift/rotate | #Unitsize | #Path
unitsize(3cm); 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);
🔗generalities-fig021

Show generalities/fig0210.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Position
size(6cm,6cm); 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);
🔗generalities-fig022

Show generalities/fig0220.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Position
size(6cm,6cm); 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);
🔗generalities-fig023

Show generalities/fig0230.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Line type | #Path
size(6cm,0); pair A=(0,0), B=(1,0), C=(0,1); draw(A--B--C--cycle); draw(A--B,linewidth(4bp));
🔗generalities-fig024

Show generalities/fig0240.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Line type | #Path
size(6cm,0); pair A=(0,0), B=(1,0), C=(0,1); draw(A--B--C--cycle); draw(A--B,(red+green));
🔗generalities-fig025

Show generalities/fig0250.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Line type | #Path
size(6cm,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);
🔗generalities-fig026

Show generalities/fig0260.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Line type | #Path
size(8cm,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);
🔗generalities-fig052

Show generalities/fig0520.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Fill/Unfill | #Shading | #Array | #Path
pen[][] p={{rgb(black)}, {rgb(.8red)}}; latticeshade((0,0)--(0,6cm)--(6cm,0)--cycle, p);
🔗generalities-fig060

Show generalities/fig0600.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Fill/Unfill | #Path
size(8cm,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);
🔗generalities-fig061

Show generalities/fig0610.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Fill/Unfill | #Path
size(8cm,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);
🔗generalities-fig085

Show generalities/fig0850.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Label | #Path
size(6cm,0); pair A=0, B=(1,0), C=(1,1); draw("$1$",A--B); draw("$1$",B--C); draw("$\sqrt{2}$",C--A);
🔗generalities-fig086

Show generalities/fig0860.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Label | #Path | #Tex/latex features | #Align | #Rotate
size(6cm,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);
🔗generalities-fig087

Show generalities/fig0870.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Label | #Path | #Align | #Rotate
size(6cm,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);
🔗generalities-fig092

Show generalities/fig0920.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Circle
size(6cm,0); draw(E--N--W--S--cycle,.5red+1mm); draw(E..N..W..S..cycle); dot(E..N..W..S..cycle,red);
🔗generalities-fig093

Show generalities/fig0930.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Size | #Path | #Circle
size(0,0); pair O=0; draw(circle(O,4cm)); dot(circle(O,4cm), red+4bp);
🔗generalities-fig094

Show generalities/fig0940.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Size | #Path | #Circle
size(6cm); draw(unitcircle, dot); dotfactor*=3; draw(shift(-0.5,-0.5)*unitsquare, dot(blue,Fill(red)));
🔗generalities-fig095

Show generalities/fig0950.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Size | #Path | #Transform/scale/shift/rotate
size(0,0); real R=4cm; draw(scale(R)*unitcircle); dot((0,0),linewidth(4bp)); dot((R*cos(pi/6),R*sin(pi/6)),red+8bp);
🔗generalities-fig096

Show generalities/fig0960.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Size | #Path
size(6cm,0); import graph; path PerfectCircle=Circle((0,0),1); draw(PerfectCircle,linewidth(2mm)); dot(PerfectCircle,.8red);
🔗generalities-fig097

Show generalities/fig0970.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Size | #Path | #Circle
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=(1,0); draw(circle(A,B)); dot(A--B);
🔗generalities-fig098

Show generalities/fig0980.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Size | #Path | #Circle
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);
🔗generalities-fig099

Show generalities/fig0990.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Size | #Path | #Circle | #Function creation
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=(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)));
🔗generalities-fig111

Show generalities/fig1120.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Point/Dot | #Path
size(6cm,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);
🔗generalities-fig122

Show generalities/fig1230.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Fill/Unfill
//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));
🔗generalities-fig123

Show generalities/fig1240.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Circle
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); }
🔗generalities-fig131

Show generalities/fig1320.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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);
🔗generalities-fig132

Show generalities/fig1330.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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);
🔗generalities-fig133

Show generalities/fig1340.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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));
🔗generalities-fig134

Show generalities/fig1350.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Circle
size(0,0); path pt1=scale(4cm)*unitcircle; path pt2=scale(2cm)*unitcircle; draw(pt1^^pt2); dot(pt1^^pt2);
🔗generalities-fig135

Show generalities/fig1360.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Circle | #Point/Dot | #Transform/scale/shift/rotate
size(0,0); path cle=scale(4cm)*unitcircle; draw(cle); for(real i=0; i<=length(cle); i+=.2) { dot(point(cle,i)); draw((0,0)--point(cle,i),dotted); }
🔗generalities-fig136

Show generalities/fig1370.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Circle | #Loop/for/while
size(0,0); path cle=scale(4cm)*unitcircle; draw(cle); for(real i=0; i<=length(cle); i+=.2) draw(point(cle,i)--2cm*dir(cle,i)+point(cle,i),Arrow,p=i/length(cle)*red);
🔗generalities-fig137

Show generalities/fig1380.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Circle | #Loop/for/while
size(0,0); path cle=scale(4cm)*reverse(unitcircle); draw(cle); for(real i=0; i<=length(cle); i+=.2) draw(point(cle,i)--2cm*dir(cle,i)+point(cle,i),Arrow,p=i/length(cle)*red);
🔗generalities-fig138

Show generalities/fig1390.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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);
🔗generalities-fig139

Show generalities/fig1400.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Circle | #Loop/for/while
size(0,0); path cle=scale(4cm)*reverse(unitcircle); draw(cle); for(real i=0; i<=length(cle); i+=.2) draw(point(cle,i)--(1cm*I*dir(cle,i))+point(cle,i),Arrow,p=i/length(cle)*red);
🔗generalities-fig141

Show generalities/fig1420.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Loop/for/while
size(6cm,0); path curv=reverse((0,2){dir(-60)}..(1,0)..{dir(60)}(2,2)); draw(curv); for(real i=0; i<=length(curv); i+=.1) draw(point(curv,i)--dir(curv,i)+point(curv,i),grey);
🔗generalities-fig142

Show generalities/fig1430.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Loop/for/while
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);
🔗generalities-fig143

Show generalities/fig1440.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
// 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())); }
🔗generalities-fig144

Show generalities/fig1450.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Full line
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);
🔗generalities-fig147

Show generalities/fig1480.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Transform/scale/shift/rotate
size(0,0); path p= (5mm,-5mm){right} .. (4cm,0); for(int i=10; i<360; i+=10) draw(rotate(i)*p); draw(p,red+1mm);
🔗generalities-fig148

Show generalities/fig1490.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Transform/scale/shift/rotate
size(6cm,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);
🔗generalities-fig149

Show generalities/fig1500.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
size(8cm,0); path curv=(0,0)..(1,1)..(1.5,-1)..(3,0); pair A=(0,-1), B=(3,.75); defaultpen(1mm); draw(curv); draw(reflect(A,B)*curv,.8red); draw(A--B,grey);
🔗generalities-fig150

Show generalities/fig1510.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Transform/scale/shift/rotate
size(6cm,0); path cle=unitcircle; draw(cle,red); draw(xscale(2)*cle); draw(yscale(2)*cle); draw(scale(2)*cle,blue);
🔗generalities-fig151

Show generalities/fig1520.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Transform/scale/shift/rotate | #Circle
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);
🔗generalities-fig152

Show generalities/fig1530.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Transform/scale/shift/rotate | #Circle | #Function creation
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=10cm; 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] )); }
🔗generalities-fig153

Show generalities/fig1540.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Function creation | #Loop/for/while
size(10cm,0); path unitpolygon(int n) { guide opath; for (int i=1; i<=n; ++i) opath=opath--rotate((i-1)*360/n)*E; return opath--cycle; } for (int i=3; i<9; ++i) draw(shift(2.5*(i%3),-2.5*quotient(i,3))*unitpolygon(i));
🔗generalities-fig154

Show generalities/fig1550.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Array | #Path | #Loop/for/while | #Direction | #Label
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])); }
🔗generalities-fig155

Show generalities/fig1560.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Array | #Path
size(0,0); pair [] P, Q, R, S; real u=2cm; 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));
🔗generalities-fig163

Show generalities/fig1640.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
size(8cm,0); path apath=(0,0)..(1,1)..(2,.5){dir(0)}; draw(subpath(apath,0,length(apath)/2),1pt+.8red,EndPenMargin); draw(subpath(apath,length(apath)/2,length(apath)),1pt+.8blue,BeginPenMargin);
🔗generalities-fig164

Show generalities/fig1650.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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));
🔗generalities-fig165

Show generalities/fig1660.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Length
size(10cm,0); path apath=(0,0)..(1,1)..(2,.5){dir(0)}; real l=length(apath); real step=l/15; for(real i=0; i<l-step; i+=step) draw(subpath(apath,i,i+step),4bp+(i/l*red+(l-i)/l*blue),PenMargins); draw(apath);
🔗generalities-fig166

Show generalities/fig1670.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Length | #Margin
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);
🔗generalities-fig167

Show generalities/fig1680.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Label | #Length
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);
🔗generalities-fig168

Show generalities/fig1690.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Length | #Label
import labelpath; unitsize(5cm); string text="\Huge A text along a curve"; path p=(0,0)..(1,1)..(2,0.5){dir(0)}; labelpath(text,p); draw(p, lightgrey);
🔗generalities-fig169

Show generalities/fig1700.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
size(6cm,0); path pth1=(0,-0.5)--(2,1); path pth2=(0,0.5)--(2,-1); draw(pth1^^pth2); dot(intersectionpoint(pth1,pth2),red);
🔗generalities-fig170

Show generalities/fig1710.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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^^q); dot(intersectionpoint(p,q) , red); dot(intersectionpoint(p,reverse(q)) , blue);
🔗generalities-fig171

Show generalities/fig1720.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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);
🔗generalities-fig172

Show generalities/fig1730.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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);
🔗generalities-fig173

Show generalities/fig1740.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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);
🔗generalities-fig174

Show generalities/fig1750.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection
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);
🔗generalities-fig175

Show generalities/fig1760.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Graph | #Direction | #Path | #Fill/Unfill | #Shipout
import graph; size(8cm,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)));
🔗generalities-fig181

Show generalities/fig1830.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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);
🔗generalities-fig182

Show generalities/fig1840.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
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);
🔗generalities-fig183

Show generalities/fig1850.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path
size(0,0); defaultpen(linewidth(1bp)); real u=4cm; 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)); }
🔗generalities-fig184

Show generalities/fig1860.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Venn diagram | #Path | #Array
// Venn diagram // Diagramme de Venn // Edwards' construction // Construction d'Edwards import roundedpath; size(14cm,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));
🔗generalities-fig185

Show generalities/fig1870.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection
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);
🔗generalities-fig186

Show generalities/fig1880.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection
size(10cm,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);
🔗generalities-fig187

Show generalities/fig1890.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection | #Buildcycle | #Transform/scale/shift/rotate | #Circle
size(6cm,0); path [] c; c[1] = xscale(2)*unitcircle; c[2] = shift((0,1))*c[1]; draw(c[1]^^c[2]); draw(buildcycle(c[1],c[2]), .8red+4bp);
🔗generalities-fig188

Show generalities/fig1900.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection | #Buildcycle | #Transform/scale/shift/rotate | #Array
size(8cm,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);
🔗generalities-fig189

Show generalities/fig1910.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection | #Buildcycle | #Transform/scale/shift/rotate | #Circle | #Fill/Unfill
size(8cm,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);
🔗generalities-fig190

Show generalities/fig1920.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Circle | #Fill/Unfill
size(0,0); path pt1=scale(2cm)*unitcircle; path pt2=scale(1cm)*unitcircle; filldraw(pt1^^pt2,yellow+.9white);
🔗generalities-fig191

Show generalities/fig1930.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection | #Transform/scale/shift/rotate | #Circle
size(0,0); path pt1=scale(2cm)*unitcircle; path pt2=scale(1cm)*unitcircle; filldraw(pt1^^pt2,evenodd+yellow+.9white);
🔗generalities-fig192

Show generalities/fig1940.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection | #Transform/scale/shift/rotate | #Circle
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);
🔗generalities-fig193

Show generalities/fig1950.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Generalities
Tags : #Basis | #Path | #Intersection | #Transform/scale/shift/rotate | #Circle
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);
🔗geometry-fig015

Show geometry/fig0150.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Line | #Intersection | #Path
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); /*<asyxml><view file="modules/geometry.asy" type="pair[]" signature="intersectionpoints(line,path)"/></asyxml>*/ dot(intersectionpoints(l,cle));
🔗geometry-fig026

Show geometry/fig0260.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Path | #Point | #Pair
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); /*<asyxml><view file="modules/geometry.asy" type="bool" signature="@(point,line)"/></asyxml>*/ write(N@l);// Return 'false' /*<asyxml><view file="modules/geometry.asy" type="bool" signature="onpath(picture,path,point,pen)"/></asyxml>*/ write(onpath(g,N,p));// Return 'true' write(onpath(g,P,p));// Return 'false'
🔗geometry-fig027

Show geometry/fig0270.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 2D | Geometry.asy
Tags : #Geometry | #Coords system | #Circle | #Ellipse | #Path
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; /*<asyxml><view file="modules/geometry.asy" type="" signature="struct circle"/></asyxml>*/ 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' /*<asyxml><view file="modules/geometry.asy" type="path" signature="*(coordsys,path)"/></asyxml>*/ draw(currentcoordsys*Cp, red+blue);
🔗tiling-fig003

Show tiling/fig0030.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Surveys | Tiling
Tags : #Path | #Picture | #Tiling
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);
🔗tube-fig013

Show tube/fig0130.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 3D | Tube.asy
Tags : #Tube | #Path | #Graph
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);
🔗tube-fig014

Show tube/fig0140.asy on Github.
Generated with Asymptote 3.00-0.
Categories : Examples 3D | Tube.asy
Tags : #Tube | #Path | #Graph
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);