%! (lenses.inc) run 72 dup scale 0.01 setlinewidth 2 1 translate 1 8 div dup scale % 1st raindrop: RED newpath 40 36.68 1 0 360 arc gsave 0.8 0.9 1 setrgbcolor fill grestore stroke 1 0 0 setrgbcolor /x 36.68 59.585 sin add def newpath -2 x moveto /P0 [-2 x] def /V0 [1 0] def /C [40 36.68] def /R 1 def /P1 P0 V0 C R hit def P1 0 get P1 1 get lineto /n C P1 gradient normalized def /V1 n V0 1.33 refraction def /P2 P1 V1 C R hit def P2 0 get P2 1 get lineto /n C P2 gradient normalized def /V2 n V1 reflection def /P3 P2 V2 C R hit def P3 0 get P3 1 get lineto /n C P3 gradient normalized def /V3 n V2 1 1.33 div refraction def /P4 P3 V3 [1 0 0] line-intersection def P4 0 get P4 1 get lineto stroke % 2nd raindrop : BLUE newpath 40 33.99 1 0 360 arc gsave 0.8 0.9 1 setrgbcolor fill grestore stroke 0 0 1 setrgbcolor /x 33.99 58.7145 sin add def newpath -2 x moveto /P0 [-2 x] def /V0 [1 0] def /C [40 33.99] def /R 1 def /P1 P0 V0 C R hit def P1 0 get P1 1 get lineto /n C P1 gradient normalized def /V1 n V0 1.345 refraction def /P2 P1 V1 C R hit def P2 0 get P2 1 get lineto /n C P2 gradient normalized def /V2 n V1 reflection def /P3 P2 V2 C R hit def P3 0 get P3 1 get lineto /n C P3 gradient normalized def /V3 n V2 1 1.345 div refraction def /P4 P3 V3 [1 0 0] line-intersection def P4 0 get P4 1 get lineto stroke 0 0 0 setrgbcolor 1 10 div setlinewidth 0 -3 moveto 0 -1 lineto stroke 0 -1 0.2 0 360 arc fill 0 -3 moveto 0.5 -4 lineto stroke 0 -3 moveto -0.5 -4 lineto 0 -2 moveto 0.5 -1.5 lineto stroke 0 -2 moveto 0.5 -2.5 lineto stroke 0 0 0 setrgbcolor /Times-Bold findfont 2 scalefont setfont 1.75 -2.2 moveto (observer) show 1 0 0 setrgbcolor /Times-Bold findfont 1.8 scalefont setfont 41 40 moveto (drops higher) show /Times-Bold findfont 1.8 scalefont setfont 41 38 moveto (up contribute) show /Times-Bold findfont 1.8 scalefont setfont 42 36 moveto (red light) show 0 0 1 setrgbcolor /Times-Bold findfont 1.8 scalefont setfont 41 32 moveto (drops lower) show /Times-Bold findfont 1.8 scalefont setfont 39 30 moveto (down contribute) show /Times-Bold findfont 1.8 scalefont setfont 42 28 moveto (blue light) show 0 0 0 setrgbcolor /Times-Bold findfont 1.8 scalefont setfont 10 35.5 moveto (sunlight) show