%! % procedures /pagebegin { /A exch def /x A 0 get def /y A 1 get def gsave 72 dup scale x y translate 0.5 72 div setlinewidth } def /pageend { grestore showpage } def % array [x y r theta]] /circle {8 dict begin /A exch def /x A 0 get def /y A 1 get def /r A 2 get def /theta A 3 get def /c 0 def /n 64 def newpath r c cos mul x add r c sin mul y add moveto n{ /c c theta n div add def r c cos mul x add r c sin mul y add lineto } repeat end} def % array [x y a b theta] /ellipse {9 dict begin /A exch def /x A 0 get def /y A 1 get def /a A 2 get def /b A 3 get def /theta A 4 get def /c 0 def /n 64 def newpath a c cos mul x add b c sin mul y add moveto n{ /c c theta n div add def a c cos mul x add b c sin mul y add lineto } repeat end} def % colors /black { 0 0 0 setrgbcolor }def /yellow { 1 1 0 setrgbcolor } def /red { 1 0 0 setrgbcolor } def /blue { 0 1 1 setrgbcolor } def /green { 0 1 0 setrgbcolor } def /white { 1 1 1 setrgbcolor } def % Fonts /largefont { /Times-Roman findfont 0.32 scalefont setfont } def /normalfont { /Times-Roman findfont 0.22 scalefont setfont } def /smallfont { /Times-Roman findfont 0.16 scalefont setfont}def % rotate [x y r theta] /rotate{ 6 dict begin /A exch def /x A 0 get def /y A 1 get def /r A 2 get def /theta A 3 get def /alpha -90 theta add def newpath x y moveto r alpha sin alpha cos div mul r lineto stroke }def /rotateA{ /A exch def /x A 0 get def /y A 1 get def /r A 2 get def /theta A 3 get def x y moveto r theta cos mul x add r theta sin mul y add lineto stroke }def /polygon { 2 dict begin /poly exch def /n poly length def poly 0 get aload pop moveto 1 1 n 1 sub { /i exch def poly i get aload pop lineto } for end} def [3 6] pagebegin black [[-3 8] [3 8] [3 -2] [-3 -2]] polygon fill /r 60 sin 60 cos div def blue 60 sin 60 cos div 1 moveto -60 sin -60 cos div 1 lineto stroke [0 1 r 360] circle stroke [0 1 r 30] rotateA [0 1 r 60] rotateA [0 1 r 90] rotateA [0 1 r 120] rotateA [0 1 r 150] rotateA [0 1 r 210] rotateA [0 1 r 240] rotateA [0 1 r 270] rotateA [0 1 r 300] rotateA [0 1 r 330] rotateA /c 0.234375 def /b r c mul def /d 4.5 def [0 d r b 360] ellipse stroke red [0 4 r 2 div 360] circle stroke /x 0.6 def /y r r mul 4 div x x mul sub sqrt neg 4 add def [x y 0.02 360] circle fill /x -0.6 def /y r r mul 4 div x x mul sub sqrt neg 4 add def [x y 0.02 360] circle fill /x 0.85 def /y r r mul 4 div x x mul sub sqrt neg 4 add def [x y 0.02 360] circle fill /x -0.85 def /y r r mul 4 div x x mul sub sqrt neg 4 add def [x y 0.02 360] circle fill /x 0.6 def /y r r mul 4 div x x mul sub sqrt 4 add def [x y 0.02 360] circle fill /x -0.6 def /y r r mul 4 div x x mul sub sqrt 4 add def [x y 0.02 360] circle fill /x 0.83 def /y r r mul 4 div x x mul sub sqrt 4 add def [x y 0.02 360] circle fill /x -0.83 def /y r r mul 4 div x x mul sub sqrt 4 add def [x y 0.02 360] circle fill blue newpath /x r 0 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x y moveto /y 1 x x mul r r mul div sub b b mul mul sqrt d add def x neg y lineto stroke newpath /x r 30 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x y moveto /y 1 x x mul r r mul div sub b b mul mul sqrt d add def x neg y lineto stroke newpath /x r 60 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x y moveto /y 1 x x mul r r mul div sub b b mul mul sqrt d add def x neg y lineto stroke newpath /x r 90 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x y moveto /y 1 x x mul r r mul div sub b b mul mul sqrt d add def x neg y lineto stroke newpath /x r 120 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x y moveto /y 1 x x mul r r mul div sub b b mul mul sqrt d add def x neg y lineto stroke newpath /x r 150 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x y moveto /y 1 x x mul r r mul div sub b b mul mul sqrt d add def x neg y lineto stroke newpath /x r 180 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x y moveto /y 1 x x mul r r mul div sub b b mul mul sqrt d add def x neg y lineto stroke newpath yellow newpath /x r 0 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x r 0 sin mul 1 add moveto x y lineto stroke newpath /x r 30 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x r 30 sin mul 1 add moveto x y lineto stroke newpath /x r 60 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x r 60 sin mul 1 add moveto x y lineto stroke newpath /x r 90 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x r 90 sin mul 1 add moveto x y lineto stroke newpath /x r 120 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x r 120 sin mul 1 add moveto x y lineto stroke newpath /x r 150 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x r 150 sin mul 1 add moveto x y lineto stroke newpath /x r 180 cos mul def /y 1 x x mul r r mul div sub b b mul mul sqrt neg d add def x r 180 sin mul 1 add moveto x y lineto stroke pageend