%! 1 50 scale 0.05 setlinewidth 10 10 translate 0.5 setgray newpath 0 -2 moveto 0 2.5 lineto stroke (a) == 0.7 setgray /f { 1 dict begin /x exch def x sin 2 mul end } def /N 540 def /x0 0 def /xf 1 def /x x0 def /dx xf x0 add def newpath x x f moveto N { /x x dx add def x x f lineto } repeat stroke (b) == newpath -1 2.5 moveto 540 2.5 lineto 0.9 setgray closepath stroke (c) == /A [ 181 { 0 } repeat ] def /n x sin 2 mul 1 add 0.1 div round cvi def A n A n get 1 add put (d) == /k 0 def /n 0 def 180{ newpath -1 2.5 moveto -1 2.5 A n get add lineto -1 k add 2.5 A n get add lineto -1 k add 2.5 lineto /k k 3 add def /n n 1 add def 0.5 0.5 1 setrgbcolor fill } repeat showpage