%%Missile File : J.Ph Chancelier 1991
%%EndComments

/saved save def 
/$pictdict 100 dict def
$pictdict begin

/dogrey
{ /Arraybox exch def
	/Arraygrey exch def
	/nargs exch def 
	/func exch cvx def
	Arraybox 0 nargs getinterval Arraygrey 0 get func 
	1 1 Arraygrey length 1 sub 
	{/i exch def
	Arraybox i nargs mul nargs getinterval 
	Arraygrey i get func
	}for
} def
%--------------------------------------------
% [x y width height] nivgris drawbox 
% si niv gris > 1.0 alors on fait un stroke 
% sans closepath 
%--------------------------------------------
/drawbox 
	{/glev exch def /Ar exch def 
	/x Ar 0 get def /y Ar 1 get def 
	/w Ar 2 get def /h Ar 3 get def 
	newpath
	x y moveto
	x w add y lineto
	x w add y h add lineto
	x y h add lineto
	glev WhiteLev le {closepath glev Setgray eofill}
	{ 0 Setgray closepath stroke} ifelse 
} def 



%------------------------------------------------------
% trace de polygones rempli ou de polylignes 
%------------------------------------------------------
/absolu true def 
/closeflag false def 

/drawpoly
	{/glev exch def /Ar exch def
	newpath
	Ar 0 get Ar 1 get moveto 
	2 2 Ar length 1 sub 
	{/i exch def
	Ar i get Ar i 1 add get absolu {lineto} {rlineto} ifelse
	}for
	glev WhiteLev le 
	{ % polygone ferme et gris
	  closepath glev Setgray eofill}
	{ glev WhiteLev 2 add ge 
	   {%polygone ferme dont on efface l'interieur 
		%(peint avec un niveau de gris en blanc)
	    closepath WhiteLev 2 mul 2 add glev sub Setgray 
		  gsave eofill grestore 
	    0 Setgray stroke}
	   {%polygone simple eventuellement ferme
	    0 Setgray closeflag {closepath} if stroke} 
	ifelse }
	ifelse 
} def 


%------------------------------------------------------
% segments non connectes 
%------------------------------------------------------

/drawsegs
	{/glev exch def /Ar exch def
	newpath
	Ar 0 get Ar 1 get moveto Ar 2 get Ar 3 get lineto stroke 
	4 4 Ar length 3 sub 
	{/i exch def
	newpath 
	Ar i get Ar i 1 add get moveto
	Ar i 2 add get Ar i 3 add get lineto stroke 
	}for
} def 


%------------------------------------------------------
% unconected arrows
%-----------------------------------------------------

/drawarrows
	{/arsize10 exch def /Ar exch def
	Ar 0 get  Ar 1 get Ar 2 get Ar 3 get arsize10 drawarrow
	4 4 Ar length 3 sub 
	{/i exch def
	Ar i get Ar i 1 add get  Ar i 2 add get  Ar i 3 add get arsize10 
	drawarrow
	}for
} def 
		
/cos20 20 cos def
/sin20 20 sin def

/drawarrow                                
  { 
      /arsize exch 10 div def 
      /tipy exch def /tipx exch def       
      /taily exch def /tailx exch def
      /dx tipx tailx sub  def               
      /dy tipy taily sub  def               
      newpath tipx tipy moveto tailx taily lineto stroke   
      /norme dx dx mul dy dy mul add sqrt def 
      norme 1.e-8 ge 
	{
	 arsize dx mul norme div /dx1 exch def 
	 arsize dy mul norme div /dy1 exch def 
	 /depx tipx cos20 dx1 mul add def 
	/depy  tipy cos20 dy1 mul add def 
	newpath depx depy moveto 
	cos20 neg dx1 mul sin20 dy1 mul sub depx add
	sin20 dx1  mul cos20 dy1 mul sub depy add lineto 
	cos20 neg dx1 mul sin20 dy1 mul add  depx add
	sin20 neg dx1 mul cos20 dy1 mul sub depy add lineto closepath 
	0 setgray fill
	} {} ifelse 
  } def


%------------------------------------------------------
% cercle ou portions de cercle 
% attention argument (x y w h angl1*64 angl2*64 )
% devrait tracer une ellipse a modifier donc 
%------------------------------------------------------

/drawarc
	{/glev exch def /Ar exch def
	/cx Ar 0 get Ar 2 get 2 div add def 
	/cy Ar 1 get Ar 3 get 2 div add def 
	/hom Ar 3 get Ar 2 get div def 
	/Cmsave1 matrix def Cmsave1 currentmatrix 
	%-- on change de transformation pour faire homothetie en (x,y) 
	cx cy [1 0 0 hom 0 0 ] transform
	/t1 exch neg cy add def 
	/t2 exch neg cx add def 
	[1 0 0 hom t2 t1 ] concat 
	glev WhiteLev le
	{newpath
	cx cy moveto 
	cx cy Ar 2 get 2 div Ar 5 get 64 div neg
	 Ar 4 get 64 div neg  arc closepath
	glev Setgray eofill}
	{newpath
	cx cy Ar 2 get 2 div Ar 5 get 64 div neg Ar 4 get 64 div neg arc
	closepath 0 Setgray stroke} ifelse 
	Cmsave1 setmatrix clear} def 

%------------------------------------------------------
% centred hard mark 
%------------------------------------------------------

% x y str ShowCString 
% on fait un show mais string est centre autour du point (x,y) 

/ShowCString { /str exch def /y exch def /x exch def 
 newpath 
 x y moveto 
 str true charpath flattenpath pathbbox 
 /y2 exch def /x2 exch def /y1 exch def /x1 exch def 
 x 2 mul x2 x1 add 2 div sub 
 y 2 mul y2 y1 add 2 div sub moveto str show 
 } def 

/drawpolymark {/glev exch def /Ar exch def 
	Ar 0 get Ar 1 get HardMark ShowCString 
	2 2 Ar length 1 sub 
	{/i exch def
	Ar i get Ar i 1 add get HardMark ShowCString
	}for
} def 

%---------------------------------------------------
% chaines de caracteres 
%---------------------------------------------------
/FBox {/Ar exch def /rot exch def /str exch def /y exch def /x exch def 
 newpath Ar 0 get Ar 1 get moveto 
	/sina rot sin def /cosa rot cos def 
	/-sina sina neg def 
	[cosa -sina sina cosa 0 0 ] CtmModif
 Ar 2 get 0 rlineto 0 Ar 3 get neg rlineto Ar 2 get neg 0 rlineto 
 0 Ar 3 get  rlineto  stroke CtmRestore 
 x y str rot ShowRotate 
 } def 

% x y str ang Showrotate 
% inverse du sens trigo 

/ShowRotate { /ang exch def /str exch def 
	/y exch def /x exch def 
	x y moveto 
	/sina ang sin def /cosa ang cos def 
	/-sina 0 sina sub def 
	[cosa -sina sina cosa 0 0 ] CtmModif
	str show CtmRestore } def 

/HardMark (0) def 

%(Chaine de caracteres) x y flag angle [arfbox] Show

/Show { /Ar exch def 
	/rot exch def /flag exch def /y exch def /x exch def /str exch def 
	flag 1 eq 
	{x y str rot Ar FBox}
	{x y str rot ShowRotate } ifelse} def 

/L {/y2 exch def /x2 exch def /y1 exch def /x1 exch def 
    newpath x1 y1 moveto x2 y2 lineto stroke } def 

%---------------------------------------------------------
% drawing an axis 
% angle [nsep1,nsep2] ,[siz1,siz2,coeff] [x0,y0] drawaxis",
%---------------------------------------------------------

/drawaxis {/XX exch def /Arsize exch def /Arsep exch def /ang exch def 
	/Cmsave1 matrix def Cmsave1 currentmatrix 
	/sina ang sin def /cosa ang cos def /-sina sina neg def 
	/x XX 0 get def /y XX 1 get def
	%-- on change de transformation pour tourner autour de (x,y) 
	x y [cosa sina -sina cosa 0 0 ] transform
	/t1 exch neg y add def 
	/t2 exch neg x add def 
	[cosa sina -sina cosa t2 t1 ] concat 
	newpath x y moveto 0 Arsize 1 get Arsize 2 get mul rlineto
	stroke 
	0 1 Arsep 1 get 1 sub
	{newpath 
	x y moveto 
	0 1 Arsep 0 get 1 sub
		{Arsize 0 get 0  rlineto
		 0 Arsize 1 get rlineto 
	 	0 Arsize 1 get  neg rlineto}
		for 
	currentpoint /y exch def /x exch def 
	stroke 
	newpath x y moveto 0 Arsize 1 get Arsize 2 get mul rlineto
	stroke }
	for 
	Cmsave1 setmatrix } def 



%---------------------------------------------------------
% change and restore CTM
%---------------------------------------------------------

/CtmModif {/arg exch def 
	/Cmsave matrix def 
	Cmsave currentmatrix 
	[1 0 0 -1 0 0 ] concat 
	arg concat } def 

/CtmRestore { Cmsave setmatrix } def 

/Thickness { 2 div /th exch def th 0 le {/th 0.1 def} if th setlinewidth} def 

/WhiteLev 15 def

/Setgray { WhiteLev div setgray} def 

/fillsolid { 0 setgray } def 

%--------------------------------------
% clip zones ( rectangle ) 
%-------------------------------------

/setclipzone {initclip 
	/h exch def /w exch def /y exch def /x exch def 
	newpath x y moveto w 0 rlineto 0 h rlineto w neg 0 rlineto 
	0 h neg rlineto closepath clip} def 

%------------------
% to change the position of a picture 
%------------------
/cm{28.346457 mul}def

/DesPosi { /YH exch def /XW exch def /YP exch def /XP exch def 
	XP cm YP cm neg translate 
	XW cm 6000 div YH cm 4240 div  scale } def 

0 setlinecap 
2 setlinejoin 
1 setlinewidth

%-- Color database 
/ColorR [0.000000 0.000000 0.000000 0.529412 0.498039 0.133333 0.000000 0.878431 0.000000 1.000000 1.000000 1.000000 0.933333 1.000000 1.000000 0.960784 1.000000 ] def
/ColorG [0.000000 0.000000 0.000000 0.807843 1.000000 0.545098 1.000000 1.000000 1.000000 0.647059 0.000000 0.000000 0.509804 1.000000 0.843137 0.960784 1.000000 ] def
/ColorB [0.000000 0.501961 1.000000 0.921569 0.831373 0.133333 0.000000 1.000000 1.000000 0.000000 0.000000 1.000000 0.933333 0.000000 0.000000 0.862745 1.000000 ] def

/Setcolor {/i exch def ColorR i get ColorG i get ColorB i get setrgbcolor } def 

%------ End Main Program ------%
% XP YP XW YW DesPosi in the following code 
% will output the picture in the rectangle defined by 
% upper left point (XP,YP) wide :XW Height: YW
% the coordinates are given in centimeter and 
% are the (0,0) point is the down-left point of the paper 


% Dessin en bas a gauche de taille 3000,2120
[0.5 10 div 0 0 0.5 10 div neg  0 2120 10 div] concat
0 Thickness
% 3 setalufunction
-1 -1 200000 200000 setclipzone
[] 0 setdash
/Times-Roman findfont 100 scalefont setfont
fillsolid
/WhiteLev 16 def
/localsave save def 
clear (drawbox) 4 [ 17]
[750 530 4500 3180 
] dogrey localsave restore
fillsolid
 0 [2 10] [225.000000 31.800000 2.000000] [750 3710] drawaxis
(0.00) 636 3906 0  0.00 [636 3816 229 120] Show
(0.05) 1086 3906 0  0.00 [1086 3816 229 120] Show
(0.10) 1536 3906 0  0.00 [1536 3816 229 120] Show
(0.15) 1986 3906 0  0.00 [1986 3816 229 120] Show
(0.20) 2436 3906 0  0.00 [2436 3816 229 120] Show
(0.25) 2886 3906 0  0.00 [2886 3816 229 120] Show
(0.30) 3336 3906 0  0.00 [3336 3816 229 120] Show
(0.35) 3786 3906 0  0.00 [3786 3816 229 120] Show
(0.40) 4236 3906 0  0.00 [4236 3816 229 120] Show
(0.45) 4686 3906 0  0.00 [4686 3816 229 120] Show
(0.50) 5136 3906 0  0.00 [5136 3816 229 120] Show
 -90 [2 10] [159.000000 -30.000000 2.000000] [750 3710] drawaxis
(0.00) 449 3740 0  0.00 [449 3650 229 120] Show
(0.10) 449 3422 0  0.00 [449 3332 229 120] Show
(0.21) 449 3104 0  0.00 [449 3014 229 120] Show
(0.31) 449 2786 0  0.00 [449 2696 229 120] Show
(0.41) 449 2468 0  0.00 [449 2378 229 120] Show
(0.51) 449 2150 0  0.00 [449 2060 229 120] Show
(0.62) 449 1832 0  0.00 [449 1742 229 120] Show
(0.72) 449 1514 0  0.00 [449 1424 229 120] Show
(0.82) 449 1196 0  0.00 [449 1106 229 120] Show
(0.93) 449 878 0  0.00 [449 788 229 120] Show
(1.03) 449 560 0  0.00 [449 470 229 120] Show
750 530 4500 3180 setclipzone
[] 0 setdash
/closeflag false def
/localsave save def 
clear (drawpoly) 452 [ 17]
[750 3623 768 3625 785 3629 803 3637 821 3647 838 3659 856 3673 874 3688 891 3704 909 3701 
926 3685 944 3670 962 3656 979 3644 997 3635 1015 3628 1032 3624 1050 3623 1068 3625 1085 3631 
1103 3638 1121 3649 1138 3661 1156 3676 1174 3691 1191 3707 1209 3697 1226 3681 1244 3667 1262 3653 
1279 3642 1297 3633 1315 3627 1332 3624 1350 3623 1368 3626 1385 3632 1403 3641 1421 3652 1438 3665 
1456 3680 1474 3696 1491 3709 1509 3692 1526 3677 1544 3662 1562 3649 1579 3639 1597 3631 1615 3625 
1632 3623 1650 3624 1668 3628 1685 3635 1703 3645 1721 3657 1738 3671 1756 3687 1774 3703 1791 3701 
1809 3685 1826 3669 1844 3655 1862 3643 1879 3634 1897 3627 1915 3624 1932 3624 1950 3627 1968 3633 
1985 3642 2003 3654 2021 3668 2038 3684 2056 3701 2074 3703 2091 3685 2109 3669 2126 3655 2144 3642 
2162 3633 2179 3626 2197 3623 2215 3624 2232 3629 2250 3638 2268 3650 2285 3665 2303 3682 2321 3702 
2338 3699 2356 3679 2374 3661 2391 3645 2409 3632 2426 3625 2444 3623 2462 3629 2479 3643 2497 3666 
2515 3699 2532 3678 2550 3623 2568 3557 2585 3480 2603 3392 2621 3293 2638 3184 2656 3066 2674 2939 
2691 2806 2709 2666 2726 2522 2744 2375 2762 2226 2779 2077 2797 1930 2815 1785 2832 1645 2850 1511 
2868 1382 2885 1262 2903 1150 2921 1047 2938 953 2956 870 2974 796 2991 732 3009 678 3026 634 
3044 598 3062 571 3079 551 3097 538 3115 531 3132 530 3150 533 3168 540 3185 550 3203 562 
3221 576 3238 591 3256 606 3274 621 3291 635 3309 649 3326 662 3344 673 3362 682 3379 690 
3397 697 3415 701 3432 704 3450 704 3468 703 3485 700 3503 695 3521 688 3538 680 3556 670 
3574 658 3591 646 3609 632 3626 617 3644 603 3662 588 3679 574 3697 560 3715 549 3732 539 
3750 533 3768 530 3785 532 3803 539 3821 552 3838 571 3856 599 3874 634 3891 679 3909 732 
3926 795 3944 868 3962 951 3979 1044 3997 1146 4015 1258 4032 1378 4050 1505 4068 1640 4085 1780 
4103 1924 4121 2071 4138 2220 4156 2369 4174 2516 4191 2661 4209 2801 4226 2935 4244 3063 4262 3181 
4279 3291 4297 3391 4315 3479 4332 3557 4350 3623 4368 3678 4385 3699 4403 3666 4421 3643 4438 3629 
4456 3623 4474 3625 4491 3633 4509 3646 4526 3662 4544 3681 4562 3701 4579 3699 4597 3680 4615 3663 
4632 3648 4650 3636 4668 3628 4685 3624 4703 3624 4721 3627 
] dogrey localsave restore
/localsave save def 
clear (drawpoly) 60 [17]
[4738 3634 4756 3645 4774 3658 4791 3673 4809 3690 4826 3707 4844 3696 4862 3679 4879 3663 4897 3650 
4915 3638 4932 3630 4950 3625 4968 3623 4985 3625 5003 3630 5021 3638 5038 3649 5056 3662 5074 3677 
5091 3694 5109 3710 5126 3693 5144 3677 5162 3662 5179 3649 5197 3638 5215 3630 5232 3625 5250 3623 
] dogrey localsave restore
fillsolid
/absolu true def
[] 0 setdash
-1 -1 200000 200000 setclipzone
 showpage

 clear end saved restore 
