u := 2.2cm; r := 0.35cm; ahlength:=0.2cm; % arrowhead length def arrow(expr a, b)=drawarrow a+r*dir angle(b-a)--b+r*dir angle(a-b); enddef; beginfig(1); z1=(0,0); z2=z1+u*dir-90; z3=z1+1.6u*dir0; z2-z1=z4-z3=z5-z4=z7-z6=z8-z7=z10-z9; z3-z1=z6-z3=z4-z2=z7-z4=z8-z5; x9-x6=x6-x3; y9=(y6+y7)/2; for i=1 upto 10: draw for theta=0 step 10 until 350: z[i]+r*dir theta.. endfor cycle; endfor arrow(z2,z3); arrow(z2,z4); arrow(z2,z5); arrow(z3,z6); arrow(z3,z7); arrow(z4,z7); arrow(z4,z8); arrow(z5,z7); arrow(z5,z8); arrow(z6,z9); arrow(z7,z9); arrow(z7,z10); arrow(z8,z10); label("21", z1); label("5", z2); label("4", z3); label("10", z4); label("6", z5); label("7", z6); label("3", z7); label("4", z8); label("8", z9); label("6", z10); label.top(btex$T_1$etex, z1+r*dir90); label.top(btex$T_2$etex, z2+r*dir90); label.top(btex$T_3$etex, z3+r*dir90); label.top(btex$T_4$etex, z4+r*dir90); label.top(btex$T_5$etex, z5+r*dir90); label.top(btex$T_6$etex, z6+r*dir90); label.top(btex$T_7$etex, z7+r*dir90); label.top(btex$T_8$etex, z8+r*dir90); label.top(btex$T_9$etex, z9+r*dir90); label.top(btex$T_{10}$etex, z10+r*dir90); endfig; beginfig(2); z1=(0,0); z2=z1+u*dir-90; x3=x1+1.6u; y1=(y3+y4)/2; z2-z1=z4-z3=z5-z4=z7-z6=z10-z9; x3-x1=x6-x3=x9-x6; y3=y6=y9; y8-y7=y7-y6; x8=(x7+x10)/2; for i=1 upto 10: draw for theta=0 step 10 until 350: z[i]+r*dir theta.. endfor cycle; endfor arrow(z1,z3); arrow(z1,z4); arrow(z1,z5); arrow(z2,z4); arrow(z2,z5); arrow(z3,z6); arrow(z3,z7); arrow(z4,z7); arrow(z4,z8); arrow(z5,z8); arrow(z6,z10); arrow(z7,z10); arrow(z7,z8); arrow(z8,z10); label("5", z1); label("1", z2); label("10", z3); label("6", z4); label("20", z5); label("3", z6); label("7", z7); label("4", z8); label("25", z9); label("5", z10); label.top(btex$T_1$etex, z1+r*dir90); label.top(btex$T_2$etex, z2+r*dir90); label.top(btex$T_3$etex, z3+r*dir90); label.top(btex$T_4$etex, z4+r*dir90); label.top(btex$T_5$etex, z5+r*dir90); label.top(btex$T_6$etex, z6+r*dir90); label.top(btex$T_7$etex, z7+r*dir90); label.rt(btex$T_8$etex, z8+r*dir0); label.top(btex$T_9$etex, z9+r*dir90); label.top(btex$T_{10}$etex, z10+r*dir90); endfig; beginfig(3); z1=(0,0); z2=z1+u*dir-90; z3=z1+1.2u*dir0; z4=z3+u*dir-90; z5-z4=z4-z2; z6=z5+1.3u*dir40; for i=1 upto 6: draw for theta=0 step 10 until 350: z[i]+r*dir theta.. endfor cycle; endfor arrow(z1,z3); arrow(z1,z4); arrow(z2,z4); arrow(z3,z5); arrow(z4,z5); arrow(z6,z5); label("4", z1); label("5", z2); label("8", z3); label("4", z4); label("6", z5); label("7", z6); label.top(btex$T_1$etex, z1+r*dir90); label.top(btex$T_2$etex, z2+r*dir90); label.top(btex$T_3$etex, z3+r*dir90); label.top(btex$T_4$etex, z4+r*dir90); label.top(btex$T_5$etex, z5+r*dir90); label.top(btex$T_6$etex, z6+r*dir90); endfig; beginfig(4); z1=(0,0); z2=z1+u*dir-90; z3=z1+u*dir0; y4-y3=y2-y1; x4=(x3+x5)/2; z5=z3+u*dir0; x6=x5+u; y6=(y4+y5)/2; for i=1 upto 6: draw for theta=0 step 10 until 350: z[i]+r*dir theta.. endfor cycle; endfor arrow(z1,z3); arrow(z1,z4); arrow(z2,z4); arrow(z3,z5); arrow(z4,z6); arrow(z5,z6); label("8", z1); label("3", z2); label("2", z3); label("7", z4); label("9", z5); label("5", z6); label.top(btex$T_1$etex, z1+r*dir90); label.top(btex$T_2$etex, z2+r*dir90); label.top(btex$T_3$etex, z3+r*dir90); label.top(btex$T_4$etex, z4+r*dir90); label.top(btex$T_5$etex, z5+r*dir90); label.top(btex$T_6$etex, z6+r*dir90); endfig; bye