%! % set units to inches 72 72 scale 0.01 setlinewidth 2 2 translate % draw the boundary of the picture newpath 0 0 moveto 4 0 lineto 4 3 lineto 0 3 lineto closepath stroke % restrict all subsequent drawing to inside that boundary by clipping newpath 0 0 moveto 4 0 lineto 4 3 lineto 0 3 lineto closepath clip % draw the water in the pool newpath 0 0 moveto 4 0 lineto 4 1.5 lineto 0 1.5 lineto closepath 0.8 0.9 1 setrgbcolor fill % move the origin to the centre of the pool 2 1.5 translate /depth 1 def /A -20 def /dA 20 def % draw 3 rays at angles -20, 0, 20, % incrementing A each time through the loop 3 { 1 0 0 setrgbcolor newpath 0 depth -1 mul moveto A sin A cos div 0 lineto /s A sin 1.33 mul def /c 1 s s mul sub sqrt def s 2 mul c 2 mul rlineto stroke /A A dA add def } repeat showpage