Source
%% PhS
%% 

%% échelle et étendue de l'image
50 setxunit
-2.5 6  setxrange
-1.5 4.5  setyrange
/xgauche -6 def    %% c'est la limite gauche de l'image
/xdroite 6 def     %% c'est la limite droite de l'image
/ybasse  -4 def    %% c'est la limite basse de l'image
/yhaute  4 def     %% c'est la limite haute de l'image

10 4 point 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%  DANGER !! Il ne faut pas utiliser de variables
%%  DANGER !! qui commence par les lettres :
%%  DANGER !! xmin, xmax, ymin et ymax...
%%  DANGER !! Utiliser x_min, y_min...
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%% plages initiales pour les paramètres (peuvent être modifiées pour chaque fonctions tracées
/x_min -5 def
/x_max 5 def
/t_min -9 def
/t_max 9 def


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% procédures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%% on donne ici x(t)
/xdet {
1 dict begin
	/t exch def
	t
end
	} def

%% on donne ici y(t)
/y1det {
1 dict begin
	/t exch def
	t Cos 2 mul t -0.2 mul add
end
	} def

%%%
/y2det {
1 dict begin
	/t exch def
	t -1.1 add Cos
end
	} def

%%%
/y3det {
1 dict begin
	/t exch def
	t -1.6 add dup mul Cos t 0.5 mul add 2 mul -1.8 add
end
	} def



%%%
/y4det {
1 dict begin
	/t exch def
	t -3 add 1 exch div 0.5 add
end
	} def


%% dessine un bout de droite
/bddroite { %% Ax Ay Bx By kg (=proportion vers A) kd (=prop vers B) 
8 dict begin
	/kd exch def
	/kg exch def
	/By exch def
	/Bx exch def
	/B {Bx By} def
	/Ay exch def
	/Ax exch def
	/A {Ax Ay} def
	gsave
	[A A B vecteur kg mulv addv A A B vecteur kd mulv addv] ligne
	grestore
end
	} def


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% définitions des couleurs
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

/coul1 {120 255 div 70 255 div 9 255 div setrgbcolor} def



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% tracés
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% tracé des axes et du point Origine
1 setlinewidth
15 setfontsize
noir
continu
%%traceaxes
%%marks
tracerepere



2.5 setlinewidth
coul1
continu
-2 0.6 settrange
{xdet} {y1det} courbeparam

0.6 1.8 settrange
{xdet} {y2det} courbeparam

1.8  3.9 settrange
{xdet} {y3det} courbeparam

3.9 5.1 settrange
{xdet} {y4det} courbeparam

[-2 dup y1det -1.99 -2 y1det] (]-) ligne
[0.59 0.6 y1det 0.6 dup y1det] (-[) ligne

[0.6 dup y2det 0.61 0.6 y2det] (]-) ligne
[1.79 1.8 y2det 1.8 dup y2det] (-[) ligne

[1.8 dup y3det 1.81 1.8 y3det] (]-) ligne
[3.89 3.9 y3det 3.9 dup y3det] (-[) ligne

[3.9 dup y4det 3.91 3.9 y4det] (]-) ligne
[5.09 5.1 y4det 5.1 dup y4det] (-[) ligne

noir
[-2 1.8 0.6 0.3 1.8 1.2 3.9 0.9 5.1 -0.7] points



vert
1 setlinewidth
pointilles
[-2 2.3 -2 -0.7 ] (-) ligne
[0.6 0 0.6 2] (-) ligne
[1.8 0 1.8 2.5] (-) ligne
[3.9 0 3.9 3.5] (-) ligne
[5.1 -1 5.1 1.5] (-) ligne


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% texte
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
setTimesItalic


vert
<latex>
$a_0$
</latex>
-2 -1 [2 dup] cctexlabel

<latex>
$a_1$
</latex>
0.6 -0.3 [2 dup] cctexlabel


<latex>
$a_2$
</latex>
1.8 -0.3 [2 dup] cctexlabel


<latex>
$a_3$
</latex>
3.9 -0.3 [2 dup] cctexlabel



<latex>
$a_4$
</latex>
5.1 -1.3 [2 dup] cctexlabel