%%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.0) 506 3740 0  0.00 [506 3650 172 120] Show
(0.1) 506 3422 0  0.00 [506 3332 172 120] Show
(0.2) 506 3104 0  0.00 [506 3014 172 120] Show
(0.3) 506 2786 0  0.00 [506 2696 172 120] Show
(0.4) 506 2468 0  0.00 [506 2378 172 120] Show
(0.5) 506 2150 0  0.00 [506 2060 172 120] Show
(0.6) 506 1832 0  0.00 [506 1742 172 120] Show
(0.7) 506 1514 0  0.00 [506 1424 172 120] Show
(0.8) 506 1196 0  0.00 [506 1106 172 120] Show
(0.9) 506 878 0  0.00 [506 788 172 120] Show
(1.0) 506 560 0  0.00 [506 470 172 120] Show
750 530 4500 3180 setclipzone
[] 0 setdash
/closeflag false def
/localsave save def 
clear (drawpoly) 452 [ 17]
[750 530 768 530 786 531 804 533 822 535 840 538 858 541 876 545 894 550 912 555 
930 560 948 566 966 572 984 578 1002 585 1020 591 1038 598 1056 605 1074 612 1092 619 
1110 626 1128 633 1146 640 1164 646 1182 652 1200 658 1218 663 1236 668 1254 673 1272 677 
1290 680 1308 683 1326 686 1344 687 1362 689 1380 689 1398 689 1416 688 1434 686 1452 684 
1470 681 1488 677 1506 673 1524 668 1542 662 1560 656 1578 650 1596 642 1614 635 1632 627 
1650 619 1668 610 1686 601 1704 593 1722 584 1740 576 1758 568 1776 560 1794 553 1812 547 
1830 541 1848 537 1866 533 1884 531 1902 530 1920 530 1938 532 1956 535 1974 540 1992 546 
2010 553 2028 562 2046 572 2064 583 2082 594 2100 606 2118 618 2136 631 2154 642 2172 654 
2190 664 2208 673 2226 680 2244 686 2262 689 2280 689 2298 686 2316 680 2334 670 2352 657 
2370 641 2388 622 2406 600 2424 578 2442 557 2460 539 2478 530 2496 535 2514 559 2532 608 
2550 689 2568 803 2586 950 2604 1123 2622 1315 2640 1516 2658 1717 2676 1911 2694 2092 2712 2259 
2730 2410 2748 2546 2766 2666 2784 2774 2802 2869 2820 2954 2838 3029 2856 3095 2874 3154 2892 3207 
2910 3254 2928 3296 2946 3333 2964 3367 2982 3397 3000 3425 3018 3449 3036 3471 3054 3492 3072 3510 
3090 3526 3108 3541 3126 3555 3144 3568 3162 3579 3180 3589 3198 3599 3216 3608 3234 3615 3252 3623 
3270 3630 3288 3636 3306 3641 3324 3647 3342 3651 3360 3656 3378 3660 3396 3664 3414 3667 3432 3670 
3450 3673 3468 3676 3486 3679 3504 3681 3522 3683 3540 3685 3558 3687 3576 3689 3594 3690 3612 3692 
3630 3693 3648 3694 3666 3696 3684 3697 3702 3698 3720 3699 3738 3700 3756 3700 3774 3701 3792 3702 
3810 3702 3828 3703 3846 3704 3864 3704 3882 3705 3900 3705 3918 3705 3936 3706 3954 3706 3972 3706 
3990 3707 4008 3707 4026 3707 4044 3707 4062 3708 4080 3708 4098 3708 4116 3708 4134 3708 4152 3709 
4170 3709 4188 3709 4206 3709 4224 3709 4242 3709 4260 3709 4278 3709 4296 3709 4314 3709 4332 3709 
4350 3710 4368 3710 4386 3710 4404 3710 4422 3710 4440 3710 4458 3710 4476 3710 4494 3710 4512 3710 
4530 3710 4548 3710 4566 3710 4584 3710 4602 3710 4620 3710 4638 3710 4656 3710 4674 3710 4692 3710 
4710 3710 4728 3710 4746 3710 4764 3710 4782 3710 4800 3710 
] dogrey localsave restore
/localsave save def 
clear (drawpoly) 50 [17]
[4818 3710 4836 3710 4854 3710 4872 3710 4890 3710 4908 3710 4926 3710 4944 3710 4962 3710 4980 3710 
4998 3710 5016 3710 5034 3710 5052 3710 5070 3710 5088 3710 5106 3710 5124 3710 5142 3710 5160 3710 
5178 3710 5196 3710 5214 3710 5232 3710 5250 3710 
] dogrey localsave restore
fillsolid
/absolu true def
[] 0 setdash
-1 -1 200000 200000 setclipzone
 showpage

 clear end saved restore 
