Source
%% PhS
%% 

%% échelle et étendue de l'image
50 setxunit
-4.5 0.5  setxrange
-.5 3.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
	1 3.3 t sub div neg 0.8 add
end
	} def

%% on donne ici y(t)
/ydet {
1 dict begin
	/t exch def
	t -0.3 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
0 3.29 settrange
{xdet} {ydet} courbeparam

rouge
1 setlinewidth
pointilles
[-6 2.9 1 2.9] (-) ligne


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