%prologues:=1; numeric u; u:=0.5cm; beginfig(101); draw (0,0)--(3u,0)..(3u,4u)..cycle; dotlabel.bot("(0,0)",(0,0)); dotlabel.bot("(3,0)",(3u,0)); dotlabel.top("(3,4)",(3u,4u)); endfig; beginfig(102); draw (0,0)--(3u,0){dir 100}..(3u,4u){dir -100}..cycle; dotlabel.bot("(0,0)",(0,0)); dotlabel.bot("(3,0)",(3u,0)); dotlabel.top("(3,4)",(3u,4u)); endfig; beginfig(103); draw (0,0)--(3u,0){dir 100}..{dir 135}(3u,4u){dir -100}..cycle; dotlabel.bot("(0,0)",(0,0)); dotlabel.bot("(3,0)",(3u,0)); dotlabel.top("(3,4)",(3u,4u)); endfig; beginfig(104); path pict[]; pict1:=(-3u,9u) for i=-3 step 1 until 3: ..(i*u,i**2*u) endfor; pict2:=(-3u,9u) for i=-3 upto 3: ..(i*u,i**2*u) endfor; pict3:=(-3u,9u) for i=-3,-2,-1,0,1,2,3: ..(i*u,i**2*u) endfor; i:=3; pict4:=(3u,9u); forever: pict4:=pict4..(i*u,i**2*u); i:=i-1; exitif i<0; endfor; i:=-3; pict5:=(-3u,9u); forever: pict5:=pict5..(i*u,i**2*u); i:=i+1; exitif i>0; endfor; pict4:=pict5..reverse pict4; for i=1 upto 4: draw pict[i] shifted (1cm,i*cm); dotlabel.top(char(ASCII("0")+i),(-3u,9u) shifted (1cm,i*cm)); endfor; endfig; beginfig(105); path pict; transform T; T:=identity shifted (3,9) scaled u; pict:=(-3,9) for i=-3 step 1 until 3: ..(i,i**2) endfor; draw pict transformed T dashed withdots; draw pict transformed T shifted (0,1cm) dashed evenly; endfig; beginfig(106); transform circle,ellipse,semi,rotsemi; circle:=identity scaled u; ellipse:=identity shifted (2,0) scaled u yscaled 2; semi:=identity shifted (0,2) scaled u; rotsemi:=identity rotated 90 shifted (0,-2) scaled u; draw fullcircle transformed circle; draw fullcircle transformed ellipse; draw halfcircle transformed semi; draw halfcircle transformed rotsemi; endfig; beginfig(107); path square; % square with side length 1 pt square:=(-0.5,-0.5)--(-0.5,0.5)--(0.5,0.5)--(0.5,-0.5)--cycle; draw square scaled 2u; draw square scaled 2u xscaled 2 shifted (2u,-2u); draw square scaled 2u xscaled 2 slanted -0.3 shifted (-3u,-2u); label(btex Area=$\ell^2$ etex, (0,0)); label(btex $A=\ell w$ etex, (2u,-2u)); label(btex $\displaystyle \ell h \over 2$ etex, (-3u,-2u)); endfig; u:=1cm; beginfig(108); path circle, line[]; circle := fullcircle scaled 4u; line1 := (0,0)--(1,0) rotated 30 scaled 3u; line2 := (0,0)--(1,0) rotated 90 scaled 3u; draw circle; draw line1; draw line2; dotlabel.bot("origin",(0,0)); dotlabel.rt(btex $p_1$ etex, line1 intersectionpoint circle); dotlabel.ulft(btex $p_2$ etex, line2 intersectionpoint circle); endfig; beginfig(109); path circle, line[]; circle := fullcircle scaled 4u; line1 := (0,0)--(1,0) rotated 30 scaled 3u; line2 := (0,0)--(1,0) rotated 90 scaled 3u; pair arc[]; arc1 = circle intersectiontimes line1; arc2 = circle intersectiontimes line2; draw subpath(xpart arc1,xpart arc2) of circle; draw subpath(ypart arc1,length line1) of line1; draw subpath(ypart arc2,length line2) of line2; dotlabel.bot("origin",(0,0)); dotlabel.rt(btex $p_1$ etex, point xpart arc1 of circle); dotlabel.ulft(btex $p_2$ etex, point ypart arc2 of line2); endfig; beginfig(110); path p[]; p1=(0,0)--(1,0); p2=((0,0)--(1,0)) rotated 60; p3=((0,0)--(1,0)) rotated 120 shifted (3cm,0); pair q[]; q11=point 0 of p1; q12=point length p1 of p1; q21=point 0 of p2; q22=point length p2 of p2; q31=point 0 of p3; q32=point length p3 of p3; q1=whatever[q11,q12]=whatever[q21,q22]; q2=whatever[q21,q22]=whatever[q31,q32]; q3=whatever[q31,q32]=whatever[q11,q12]; draw q1--q2--q3--cycle; dotlabel.llft("q1",q1); dotlabel.top("q2",q2); dotlabel.lrt("q3",q3); endfig; beginfig(111); path p; p:=(-1,0)..(0,-1)..(1,0); fill (p{up}..{down}(0,0){down}..{up}cycle) scaled 1cm; draw (p..(0,1)..cycle) scaled 1cm; picture yin,yang; yin:=thelabel("Yin",(0.5cm,-0.5cm)); yang:=thelabel("Yang",(-0.5cm,0.5cm)); unfill bbox yin; draw yin; unfill bbox yang; draw yang; endfig; beginfig(112); path p[]; p1:=halfcircle scaled 3cm; p2:=halfcircle rotated 180 scaled 3cm shifted (0,1cm); p3:=halfcircle rotated 90 scaled 3cm shifted (1cm,0.5cm); p4:=buildcycle(p1,p2,p3) shifted (-0.5cm,3cm); p5:=buildcycle(p3,p2,p1) shifted (0.5cm,3cm); draw p1 dashed evenly; draw p2 dashed evenly; draw p3 dashed evenly; draw p4; draw p5; endfig; beginfig(113); path p; p:=(-1cm,0){dir -45}..(0,0){dir 45}..(1cm,0); drawarrow p; drawarrow reverse p shifted (0,0.5cm); drawdblarrow p shifted (0,-0.5cm); endfig; end