%!PS-Adobe-2.0 %%BoundingBox: 0 0 240 240 newpath 0 0 moveto 240 0 rlineto 0 240 rlineto 0 240 lineto closepath clip 60 120 translate /S 48 def S dup scale 1 S div 4 div setlinewidth (lenses.inc) run /y 0 def /dy 0.099 2 div def /c [2 0] def /R 1 def gsave 0 0 0 setrgbcolor newpath c aload pop R 0 360 arc gsave 0.9 setgray fill grestore stroke grestore 1 0 0 setrgbcolor 21 { /index 1.33 def /T 0 def /P [-2 y] def /v [T cos T sin] def /P' P v c R hit def /g c P' gradient def /n g normalized def /v' n v index refraction def newpath P aload pop moveto P' aload pop lineto stroke % -------------------------- /P'' P' v' c R hit def /g c P'' gradient def /n g normalized def % /v'' n v' 1 index div refraction def /v'' n v' reflection def newpath P' aload pop moveto P'' aload pop lineto stroke % -------------------------- /P''' P'' v'' c R hit def /g c P''' gradient def /n g normalized def /v''' n v'' 1 index div refraction def newpath P'' aload pop moveto P''' aload pop lineto stroke % ----------------------------------------- gsave newpath P''' aload pop moveto v''' 4 vscale aload pop rlineto stroke grestore /y y dy add def } repeat showpage