verbatimtex \magnification=\magstep1 etex u=1cm; beginfig(1); z0 = (0,0); % z0 is origin z10 = z0; % z10 is point to left x11 = x10 + 3u; y11 = y10; % z11 is point H z12 = 0.3 [z10, z11]; % z12 is point K x13 = x12; y13 = y12 + u; % z13 is point B x14 = x11; y14 = y13; % z14 is point A z15 = 3.5 [z12, z13]; % z15 is point D x16 = 0.5 [x10, x12]; y16 - y15 = 0.6 * (x15 - x16); % z16 is end of curve x17 = x10; y17 = y13; % z17 is point to left of B draw z10--z11; draw z17--z14; draw z12--z15; draw z11--z14{up}..z15..z16; label.rt(btex ${\rm A}$ etex, z14); label.urt(btex ${\rm B}$ etex, z13); label.llft(btex ${\rm D}$ etex, z15); label.rt(btex ${\rm H}$ etex, z11); label.urt(btex ${\rm K}$ etex, z12); endfig; beginfig(2); z0 = (0,0); % z0 is origin z10 = z0; % z10 is point to left x11 = x10 + 4u; y11 = y10; % z11 is point A z12 = 0.25 [z10,z11]; % z12 is point beta z13 = 0.50 [z10,z11]; % z13 is point B x14 = x12; y14 = y12 + 3u; % z14 is point H x15 = x13; y15 = y14; % z15 is point K z16 = 1.1 [z12, z14]; % z16 is point delta z17 = 0.9 [z13, z15]; % z17 is point D z18 = 2 [z17, z16]; % z18 is point left of curve draw z10--z11; draw z12--z16; draw z13--z15--z14; draw z11{up}..z17..z16..z18; label.bot(btex ${\rm A}$ etex, z11); label.bot(btex $\beta$ etex, z12); label.bot(btex ${\rm B}$ etex, z13); label.top(btex $\delta$ etex, z16); label.llft(btex ${\rm D}$ etex, z17); label.lft(btex ${\rm H}$ etex, z14); label.rt(btex ${\rm K}$ etex, z15); endfig; beginfig(3); z0 = (0,0); % z0 is origin z10 = z0; % z10 is point A x11 = x10 + 3u; y11 = y10; % z11 is point centre z12 - z11 = z11 - z10; % z12 is point right end z1101 - z11 = (z12 - z11) rotated 15; z1102 - z11 = (z12 - z11) rotated 30; z1103 - z11 = (z12 - z11) rotated 45; z1104 - z11 = (z12 - z11) rotated 60; z1105 - z11 = (z12 - z11) rotated 75; z1106 - z11 = (z12 - z11) rotated 90; z1107 - z11 = (z12 - z11) rotated 105; z1108 - z11 = (z12 - z11) rotated 120; z1109 - z11 = (z12 - z11) rotated 135; z1110 - z11 = (z12 - z11) rotated 150; z1111 - z11 = (z12 - z11) rotated 165; x13 = x1104; y13 = y10; % z13 is point B z14 = z1104; % z14 is point C z15 = 0.5 [z13, z12]; % z15 is point D x16 = x15; y16 = y14; % z16 is point I z17 - z14 = whatever * ((z11 - z14) rotated 90); x17 = x15; % z17 is point F x18 = x15; y18 - y15 = (x12 - x11) +-+ (x15 - x11); % z18 is point G z19 = 1.4 [z14, z17]; draw z10--z12; draw z12..z1101..z1102..z1103..z1104..z1105..z1106..z1107 ..z1108..z1109..z1110..z1111..z10; draw z13--z14--z16--z15; draw z14--z19; label.bot(btex ${\rm A}$ etex, z10); label.bot(btex ${\rm B}$ etex, z13); label.llft(btex ${\rm C}$ etex, z14); label.bot(btex ${\rm D}$ etex, z15); label.urt(btex ${\rm F}$ etex, z17); label.llft(btex ${\rm G}$ etex, z18); label.urt(btex ${\rm I}$ etex, z16); endfig; bye;