\begin{tikzpicture}

\tkzInit[xmin=-1,xmax=5,ymin=-3,ymax=3]
\tkzClip

% Draw eye
\path  (-0.5, 0.0) coordinate (E0)
      +( 0.5, 0.5) coordinate (E1)
      +( 0.5,-0.5) coordinate (E2)
       (-0.08,0.0) coordinate (EP)

\tkzSegment(E0/E1)
\tkzSegment(E0/E2)
\tkzMarkAngle[size=.5](E1/E0/E2)

% Draw sphere
\path (6,0) coordinate (C)
\tkzCircleR(C,3cm)

% Get intersection points
\path  (0.0, 0.0) coordinate (F0)
      +(2.0, 1.0) coordinate (F1)
      +(2.0, 0.333) coordinate (F2)
      +(2.0,-0.333) coordinate (F3)
      +(2.0,-1.0) coordinate (F4)
\tkzInterLCR(F0,F1)(C,3cm){I1}{O1}
\tkzInterLCR(F0,F2)(C,3cm){I2}{O2}
\tkzInterLCR(F0,F3)(C,3cm){I3}{O3}
\tkzInterLCR(F0,F4)(C,3cm){I4}{O4}

	\tkzFillCircle(EP,0.1cm)

%\tkzSegment(F0/F1)
%\tkzSegment(F0/F4)
%\tkzSegment[style=dashed](F1/I1)
%\tkzSegment[style=dashed](F4/I4)

\tkzSegment[style=dashed](F0/I1)
\tkzSegment[style=dashed](F0/I4)

%% Draw ray sphere intersections
\tkzDrawPoint[color=black,noname](I1)
\tkzDrawPoint[color=black,noname](I2)
\tkzDrawPoint[color=black,noname](I3)
\tkzDrawPoint[color=black,noname](I4)

%% Calculate offset points
\foreach \i / \j in {1/1.1,2/1.05,3/1.3,4/1.075}
{
	\tkzGetVectxy(C,I\i){v}
	\tkzGetPointxy(C){p}
	\pgfmathparse{\px + \j * \vx}\let\rx\pgfmathresult
	\pgfmathparse{\py + \j * \vy}\let\ry\pgfmathresult
	\path (\rx,\ry) coordinate (J\i)
}

% Draw offset vectors
\tkzSegment(I1/J1)
\tkzSegment(I2/J2)
\tkzSegment(I3/J3)
\tkzSegment(I4/J4)

% Draw points
\tkzSegment(J1/J2,J2/J3,J3/J4)
\tkzDrawPoint[color=red,noname](J1)
\tkzDrawPoint[color=red,noname](J2)
\tkzDrawPoint[color=red,noname](J3)
\tkzDrawPoint[color=red,noname](J4)

\end{tikzpicture}
