14 trace hachurage(polygone(A1,A2,A3,A4),120,0.2,0);
15 trace polygone(A1,A2,A3,A4);
16 trace hachurage(symetrie(polygone(A1,A2,A3,A4),O),120,0.2,0);
17 trace symetrie(polygone(A1,A2,A3,A4),O);
18 drawarrow (O+u*(0,-1))--(O+u*(0,2)) dashed dashpattern(on12bp off6bp on3bp off6bp);
19 drawarrow (O+u*(-3,0))--(O+u*(3,0)) dashed dashpattern(on12bp off6bp on 3bp off6bp);
20 trace cotation(A1,A2,-4mm,-2mm,btex $h$ etex);
21 trace cotation(O+u*(0,h/2),A3,2mm,2mm,btex $r$ etex);
22 trace cotation(O+u*(0,h/2),A2,10mm,2mm,btex $R$ etex);
23 label.llft(btex O etex,O);
24 label.top(btex $z$ etex,O+u*(0,2));
25 label.rt(btex $y$ etex,O+u*(3,0));
30 section=for k=0 step 10 until 90:0.5*u*(1+cosd(k),1+sind(k))-- endfor for k=90 step 10 until 180:0.5*u*(cosd(k)-1,1+sind(k))-- endfor for k=180 step 10 until 270:0.5*u*(cosd(k)-1,sind(k)-1)-- endfor for k=270 step 10 until 350:0.5*u*(cosd(k)+1,sind(k)-1)-- endfor 0.5*u*(2,1)--cycle;
34 trace hachurage(section shifted(O+u*R*(1,0)),120,0.2,0);
35 trace section shifted(O+u*R*(1,0));
36 trace hachurage(symetrie(section shifted(O+u*R*(1,0)),O),120,0.2,0);
37 trace symetrie(section shifted(O+u*R*(1,0)),O);
38 drawarrow (O+u*(0,-1))--(O+u*(0,2)) dashed dashpattern(on12bp off6bp on3bp off6bp);
39 drawarrow (O+u*(-4,0))--(O+u*(4,0)) dashed dashpattern(on12bp off6bp on 3bp off6bp);
40 trace cotation(O+u*(0,0),O+u*(R,0),15mm,2mm,btex $R$ etex);
41 label.llft(btex O etex,O);
42 label.top(btex $z$ etex,O+u*(0,2));
43 label.rt(btex $y$ etex,O+u*(4,0));