%%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 3710 768 3707 786 3704 804 3701 822 3698 840 3695 858 3692 876 3689 894 3687 912 3684 
930 3681 948 3678 966 3675 984 3672 1002 3669 1020 3666 1038 3664 1056 3661 1074 3658 1092 3655 
1110 3653 1128 3650 1146 3647 1164 3645 1182 3642 1200 3639 1218 3637 1236 3635 1254 3632 1272 3630 
1290 3628 1308 3626 1326 3624 1344 3622 1362 3620 1380 3619 1398 3618 1416 3616 1434 3616 1452 3615 
1470 3615 1488 3615 1506 3615 1524 3616 1542 3617 1560 3619 1578 3622 1596 3625 1614 3629 1632 3634 
1650 3640 1668 3647 1686 3656 1704 3667 1722 3679 1740 3694 1758 3708 1776 3687 1794 3662 1812 3633 
1830 3598 1848 3556 1866 3505 1884 3445 1902 3372 1920 3283 1938 3174 1956 3041 1974 2876 1992 2674 
2010 2426 2028 2129 2046 1785 2064 1417 2082 1065 2100 784 2118 609 2136 537 2154 537 2172 576 
2190 628 2208 679 2226 722 2244 754 2262 774 2280 784 2298 783 2316 774 2334 758 2352 736 
2370 710 2388 682 2406 652 2424 623 2442 596 2460 572 2478 553 2496 539 2514 531 2532 530 
2550 536 2568 547 2586 564 2604 586 2622 610 2640 637 2658 665 2676 693 2694 718 2712 741 
2730 760 2748 774 2766 783 2784 784 2802 778 2820 764 2838 741 2856 709 2874 670 2892 626 
2910 582 2928 545 2946 530 2964 553 2982 634 3000 784 3018 1004 3036 1273 3054 1565 3072 1853 
3090 2120 3108 2356 3126 2561 3144 2737 3162 2885 3180 3011 3198 3118 3216 3209 3234 3287 3252 3354 
3270 3411 3288 3460 3306 3503 3324 3540 3342 3573 3360 3601 3378 3626 3396 3648 3414 3667 3432 3684 
3450 3700 3468 3707 3486 3695 3504 3685 3522 3676 3540 3667 3558 3660 3576 3654 3594 3648 3612 3643 
3630 3638 3648 3635 3666 3631 3684 3628 3702 3626 3720 3623 3738 3621 3756 3620 3774 3618 3792 3617 
3810 3616 3828 3616 3846 3615 3864 3615 3882 3615 3900 3615 3918 3615 3936 3615 3954 3615 3972 3616 
3990 3616 4008 3617 4026 3617 4044 3618 4062 3619 4080 3620 4098 3620 4116 3621 4134 3622 4152 3623 
4170 3624 4188 3626 4206 3627 4224 3628 4242 3629 4260 3630 4278 3632 4296 3633 4314 3634 4332 3635 
4350 3637 4368 3638 4386 3639 4404 3641 4422 3642 4440 3644 4458 3645 4476 3646 4494 3648 4512 3649 
4530 3651 4548 3652 4566 3654 4584 3655 4602 3656 4620 3658 4638 3659 4656 3661 4674 3662 4692 3664 
4710 3665 4728 3667 4746 3668 4764 3670 4782 3671 4800 3673 
] dogrey localsave restore
/localsave save def 
clear (drawpoly) 50 [17]
[4818 3674 4836 3676 4854 3677 4872 3679 4890 3680 4908 3682 4926 3683 4944 3685 4962 3686 4980 3688 
4998 3689 5016 3691 5034 3692 5052 3694 5070 3695 5088 3697 5106 3698 5124 3700 5142 3701 5160 3703 
5178 3704 5196 3706 5214 3707 5232 3709 5250 3710 
] dogrey localsave restore
fillsolid
/absolu true def
[] 0 setdash
-1 -1 200000 200000 setclipzone
 showpage

 clear end saved restore 
