%! (lenses2.inc) run 72 72 scale 0.005 setlinewidth 3.5 6 translate 5 5 scale /r .6590945 def /r1 .2857874 def /r2 .2238189 def /r3 .22 def /r4 .2 def 0 0 r 350 10 arc stroke 0 0 r1 110 250 arc stroke -.04429134 0 r2 110 250 arc stroke 0.05 0 r3 125 235 arc stroke -.151122 0 r4 292 68 arc stroke /c -.03 def 0 .2 .8 setrgbcolor 3{ /intersect1 [-.5 c][1 0][0 0] r1 hit def /x0 intersect1 0 get def /y0 intersect1 1 get def -.65 c moveto x0 y0 lineto stroke /n1 [0 0] intersect1 gradient normalized def /v1 n1 [1 0] 1.376 refraction def /intersect2 [x0 y0]v1[-.04429134 0] r2 hit def /x1 intersect2 0 get def /y1 intersect2 1 get def newpath x0 y0 moveto x1 y1 lineto stroke /n2 [-.04429134 0] intersect2 gradient normalized def /v2 n2 v1 1.336 1.376 div refraction def /intersect3 [x1 y1]v2[.1 0] r3 hit def /x2 intersect3 0 get def /y2 intersect3 1 get def newpath x1 y1 moveto x2 y2 lineto stroke /n3 [.1 0] intersect3 gradient normalized def /v3 n3 v2 1.406 1.336 div refraction def /intersect4 [x2 y2]v3[-.151122 0] r4 hit def /x3 intersect4 0 get def /y3 intersect4 1 get def newpath x2 y2 moveto x3 y3 lineto stroke /n4 [-.151122 0] intersect4 gradient normalized def /v4 n4 v3 1.337 1.406 div refraction def /intersect5 [x3 y3]v4[1 0 -.9] line-intersection def /x4 intersect5 0 get def /y4 intersect5 1 get def newpath x3 y3 moveto x4 y4 lineto stroke /c c .03 add def }repeat showpage