verbatimtex \magnification=\magstep1 etex u=1cm; beginfig(1); z0 = (0,0); % z0 is origin z10 = z0; % z10 is point V x11 = x10 + 1.5u; y11 = y10; % z11 is point A z12 = 2 [z10, z11]; % z12 is point B z13 = 3 [z10, z11]; % z13 is point b z14 = 4 [z10, z11]; % z14 is endpoint x15 = x12; y15 = y10 + 2u; % z15 is point C z16 = whatever [z10, z15]; x16 = x13; % z16 is point T z17 = whatever [z10, z15]; x17 = x14; % z17 is point H x18 = x13; y18 = y15; % z18 is point E z19 = 0.5 [z18, z16]; % z19 is point c z20 = whatever [z15, z19]; x20 = x14; % z20 is point K z21 = 1.4 [z17, z20]; % z21 is end of curve x31 = x11; y31 = y10 - u; % z31 is point G x32 = x12; y32 = y31; % z32 is point D x33 = x13; y33 = y31; % z33 is point d x34 = x14; y34 = y31; % z34 is bottom endpoint draw z10--z14; draw z31--z34; draw z32--z15; draw z10--z17; draw z31--z11 {up} .. z15 {z16 - z15} .. z19 .. z21; draw z33--z16 dashed evenly; draw z15--z18 dashed evenly; draw z15--z20 dashed evenly; label.bot(btex ${\rm V}$ etex, z10); label.llft(btex ${\rm A}$ etex, z11); label.lrt(btex ${\rm B}$ etex, z12); label.lrt(btex ${\rm b}$ etex, z13); label.ulft(btex ${\rm C}$ etex, z15); label.ulft(btex ${\rm T}$ etex, z16); label.ulft(btex ${\rm H}$ etex, z17); label.rt(btex ${\rm E}$ etex, z18); label.lrt(btex ${\rm c}$ etex, z19); label.ulft(btex ${\rm K}$ etex, z20); label.llft(btex ${\rm G}$ etex, z31); label.bot(btex ${\rm D}$ etex, z32); label.bot(btex ${\rm d}$ etex, z33); endfig; beginfig(2); z0 = (0,0); % z0 is origin z10 = z0; % z10 is point A x11 = x10 + 1u; y11 = y10; % z11 is point D z12 = 3 [z10, z11]; % z12 is point B z13 = 4 [z10, z11]; % z13 is point b z14 = 4.5 [z10, z11]; % z14 is endpoint x15 = x11; y15 = y11 + 1.5u; % z15 is point P z16 = whatever [z15, z13] = z12 + whatever * ( (z13 - z15) rotated 90 ); % z15 is point C z17 = 1.2 [z15, z12]; z18 = 1.2 [z15, z13]; draw z10--z13; draw z11--z15; draw z15--z17; draw z15--z18 dashed evenly; draw z12--z16 dashed evenly; label.bot(btex ${\rm A}$ etex, z10); label.bot(btex ${\rm D}$ etex, z11); label.llft(btex ${\rm B}$ etex, z12); label.urt(btex ${\rm b}$ etex, z13); label.lft(btex ${\rm P}$ etex, z15); label.urt(btex ${\rm C}$ etex, z16); endfig; beginfig(3); z0 = (0,0); % z0 is origin z10 = z0; % z10 is left endpoint x11 = x10 + 1u; y11 = y10; % z11 is point A z12 = 3 [z10, z11]; % z12 is point B z13 = 4 [z10, z11]; % z13 is point b z14 = 4.5 [z10, z11]; % z14 is endpoint x15 = x11; y15 = y11 + 1.5u; % z15 is point P z16 = whatever [z15, z13] = z12 + whatever * ( (z13 - z15) rotated 90 ); % z15 is point C z17 = 1.4 [z15, z12]; z18 = 1.4 [z15, z13]; z21 = 0.4 [z15, z12]; % z21 is point E z22 = whatever [z11, z21] = whatever [z15, z13]; % z22 is point e z23 = 1.8 [z11, z21]; z24 = 1.4 [z21, z11]; draw z10--z13; draw z15--z17; draw z23--z24; draw z15--z18 dashed evenly; draw z12--z16 dashed evenly; label.lrt(btex ${\rm A}$ etex, z11); label.llft(btex ${\rm B}$ etex, z12); label.llft(btex ${\rm b}$ etex, z13); label.lft(btex ${\rm P}$ etex, z15); label.urt(btex ${\rm C}$ etex, z16); label.lft(btex ${\rm E}$ etex, z21 + (-3pt,-1pt)); label.top(btex ${\rm e}$ etex, z22); endfig; bye;