%@DATE: 30 mai 2005 input fichierps; InitFichierPS(-200,-120,200,180); u = 0.85cm; % Le points fixe. pair A; A = (0,4u); % Le cercle. path cA; cA = fullcircle scaled 4u shifted A; % Les articulations. pair D,B,C,F,G,E; % Longueur des tiges qui s'appuient sur la droite. l := 6.5u; % Position des articulationssur les tiges (facteur). f := 0.8; vardef Point(expr p) = draw p withpen pencircle scaled 4; draw p withpen pencircle scaled 3 withcolor white; enddef; % L'ellipse; path e; for i=0 upto 90: beginfig(i+1); D := point (8*i/90) of cA; x := xpart D; y := ypart D; k := y/l; B := (x-l*sqrt(1-k*k),0); C := 2[B,(x,0)]; F := f[D,B]; G := f[D,C]; E := 2[D,.5[F,G]]; fill cA withcolor 0.8white; drawoptions(withcolor 0.6white); draw cA; draw (-1.3l,0)--(1.3l,0); drawoptions(); drawarrow subpath (0,8*i/90) of cA; if i=0: e := E; else: e := e -- E; draw e withpen pencircle scaled 1 withcolor blue; fi drawoptions(withpen pensquare scaled 2 withcolor (1,0.08,0.58)); draw A--D; draw D--B; draw D--C; draw F--E; draw G--E; drawoptions(); Point(A); Point(B); Point(C); Point(D); Point(E); Point(F); Point(G); endfig; endfor; end