MetaPost Retour à la page précédente Fichier au format texte pour télécharger Imprimer le document sans le menu !
[Animation en pleine fenêtre]  [Fichier PDF
%@DATE: 31 mai 2005

input fichierps;

InitFichierPS(-120,-190,120,190);

u = 1cm;


% La longueur du bras AM.
l = 4;

% La longueur du bras AB.
L = 4.2; % L > l

% Angle des deux glissières;
a = 40;
ca = cosd(a);
sa = sind(a);


vardef Point(expr p) =
    draw p withpen pencircle scaled 4;
    draw p withpen pencircle scaled 3 withcolor white;
enddef;

% Les deux branches de l'hyperbole.
path hg,hd;

for i=0 upto 200:
  beginfig(i+1);

    pair A,B,C,D,M;
    
    if i<=50:
	M = (sa,ca) scaled (i*l/50) scaled u;
    elseif i<=150:
	M = (sa,ca) scaled (2l-i*l/50) scaled u;
    else:
	M = (sa,ca) scaled (i*l/50-4l) scaled u;
    fi;
    
    y := (ypart M)/u;
    x := (xpart M)/u;   
    
    k := l*sqrt(1-(x/l)*(x/l));
    h := L*sqrt(1-(k/L)*(k/L));
    
    A = (0,y+k) scaled u;
    C = (0,y-k) scaled u;
    B = (-h,y) scaled u;
    D = (h,y) scaled u;
    

    FondImage((1,.87,.68));
    drawoptions(withcolor 0.6white);    
    draw ((0,-1.6l)--(0,1.6l)) scaled u;
    draw ((0,-1.1l)--(0,1.1l)) rotated -a  scaled u;
    drawoptions();

    drawarrow (0,0)--(M scaled 0.95) withpen pencircle scaled 1.25;
    
    if i=0: 
	hg := B;
	hd := D;
    else:
	hg := hg -- B;
	hd := hd -- D;
	draw hd withpen pencircle scaled 1 withcolor blue;
	draw hg withpen pencircle scaled 1 withcolor blue;
    fi
        
    drawoptions(withpen pensquare scaled 2 withcolor (.55,.35,.17));	
    draw A--B--C--D--A;
    draw A--M--C;
    drawoptions();
	
    Point(A);
    Point(B);
    Point(C);
    Point(D);
    Point(M); 
  endfig;
endfor;

end