input geometriesyr16;
marque_horloge=1.5;
boolean aig;
aig=true;
vardef horloge=
save $;
picture $;
pair centrehorloge;
centrehorloge=(0,0);
path tourhorloge;
tourhorloge=cercles(centrehorloge,marque_horloge*cm);
$=image(
trace tourhorloge;
for i=0 upto 59:
if (i mod 5)=0:
if (i mod 15)=0:
trace pointarc(tourhorloge,6*i)--(pointarc(tourhorloge,6*i) shifted%
(7*unitvector(centrehorloge-pointarc(tourhorloge,6*i)))) withpen%
pencircle scaled 3bp;
else:
trace pointarc(tourhorloge,6*i)--(pointarc(tourhorloge,6*i) shifted%
(5*unitvector(centrehorloge-pointarc(tourhorloge,6*i)))) withpen%
pencircle scaled 1.5bp;
fi;
else:
trace pointarc(tourhorloge,6*i)--(pointarc(tourhorloge,6*i) shifted %
(3*unitvector(centrehorloge-pointarc(tourhorloge,6*i))));
fi;
endfor;
path graduhorloge;
graduhorloge=cercles(centrehorloge,marque_horloge*cm-12*abs(unitvector(%
centrehorloge-pointarc(tourhorloge,0))));
for i=1 upto 12:
label(format("%10f",i),pointarc(graduhorloge,90-30*i));
endfor;
marque_p:="plein";
pointe(centrehorloge);
marque_p:="rien";
);
$
enddef;
vardef Horloge(expr aa,bb)=
save $;
picture $;
path gdeaig,pteaig;
$=image(
trace horloge;
gdeaig=centrehorloge--(pointarc(tourhorloge,0) shifted (7*unitvector(%
centrehorloge-pointarc(tourhorloge,0))));
pteaig=centrehorloge--(pointarc(tourhorloge,0) shifted (25*unitvector(%
centrehorloge-pointarc(tourhorloge,0))));
if aig=true:
trace rotation(gdeaig,centrehorloge,90-6*bb);
trace rotation(pteaig,centrehorloge,90-30*(aa+bb/60)) withpen %
pencircle scaled 2bp;
fi;
);
$
enddef;
beginfig(1);
trace Horloge(17,32);
endfig;
beginfig(2);
trace Horloge(8,25);
endfig;
beginfig(3);
trace Horloge(21,45);
endfig;
beginfig(4);
trace Horloge(12,10);
endfig;
aig:=false;
beginfig(5);
trace Horloge(12,10);
endfig;
aig:=true;
beginfig(6);
trace Horloge(13,00);
endfig;
beginfig(7);
trace Horloge(13,20);
endfig;
beginfig(8);
trace Horloge(14,20);
endfig;
beginfig(9);
trace Horloge(14,50);
endfig;
beginfig(10);
trace Horloge(15,45);
endfig;
beginfig(11);
trace Horloge(16,30);
endfig;
beginfig(12);
trace Horloge(08,20);
endfig;
beginfig(13);
trace Horloge(10,40);
endfig;
marque_horloge:=9;
aig:=false;
beginfig(14);
trace Horloge(10,10);
endfig;
marque_horloge:=4;
beginfig(15);
trace Horloge(10,10);
endfig;
end