\begin{tikzpicture}[scale=0.75]

% Constants

	% Sphere radius
	\def\maxR{3.5}
	\def\primaryR{2.5}
	\def\secondaryR{0.97}

% Clip region

	%\tkzInit
	\tkzInit[xmin=-1.0,xmax=7.0,ymin=-0.5,ymax=4.5]
	\tkzClip

% Points

	% Origin (viewpoint)
	\tkzPoint*(0,0){O}

	% Sphere center
	\tkzPoint*(3,0){C}

	% Intersections

		% Directionpoint for primary tangent ray
		\tkzPoint*(1,1.55){Odt} % Odt = Directionpoint at O for vector t
		\tkzPoint*(1,1.00){Odt2}

		% Intersect tangent ray with maximum sphere
		\tkzInterLCR(Odt,O)(C,\maxR cm){U}{I} % I = back facing intersection

		% Intersection point of tangent ray to secondary sphere
		\tkzPoint*(2.77,0.965){I2}

		\tkzPoint*(0.95,1.45){J}

	% Unit vectors

		% Calculate tangent ray vector
		\tkyUnitVect(O,Odt){t}

		% Calculate sphere normal
		\tkyUnitVect(C,I){s}

		\tkyUnitVect(O,I2){ts}

	% Create vectorpoints

		% Tangent ray at O
		\tkyPointVectL(O,t,0.5){Ovt} % Ovt = vectorpoint at O for vector t

		% Sphere normal at I
		\tkyPointVectL(I,s,0.5){Ivs}

		% Sphere normal at I2
		\tkyPointVectL(I2,s,0.5){I2vs}

		\tkyPointVectL(O,ts,0.5){Ovts}

% Drawing

	% Points

		% Origin
		\tkzDrawPoint[pos=below left](O)

		% Sphere center
		\tkzDrawPoint[pos=below right](C)

		% Tangent ray intersection point
		\tkzDrawPoint[pos=above left,noname](I)

		\tkzDrawPoint[noname](I2)

	% Line segments

		\tkzSegment(C/J)

		% Dashed ray line
		\tkzSegment[style=dashed](Ovt/I)

		% Segment OC of length d
		%\tkzSegment[style=solid,label=$d$,poslabel=-16pt,time=0.43](O/C)
		\tkzSegment[style=solid](O/C)

		% Segment IC of length r
		%\tkzSegment[style=dashed](I/C)

		%\tkzSegment(O/I2)
		%\tkzSegment[style=dashed](Ovts/I2)
		\tkzSegment[style=dashed](Ovts/I2)

		\tkzSegment[style=dashed](I2vs/I)

		\tkzSegment[style=solid](C/I)
		%\tkzPoint[name=$r_s$,pos=above right,size=0](2.9,0.25){I2label}

	% Vectors

		% Tangent ray
		\tkzDrawVector(O/Ovt);
		%\tkzDrawPoint[name=\unit{t_p},pos=above left,size=0](Ovt)

		% Sphere normal at I
		\tkzDrawVector(I/Ivs);
		%\tkzDrawPoint[name=\unit{s},pos=above right,size=0](Ivs)

		% Sphere normal at I2
		%\tkzDrawVector(I2/I2vs);
		%\tkzDrawPoint[name=\unit{s},pos=above right,size=0](I2vs)

		\tkzDrawVector(O/Ovts);
		%\tkzDrawPoint[name=\unit{t_s},pos=above right,size=0](Ovts)
		%\tkzPoint[name=\unit{t_s},pos=below,size=0](0.3,0){Ovtslabel}

	% Sphere
	
		% Max sphere
		\tkzCircleR[lw=1pt](C,\maxR)

		% Primary sphere
		\tkzCircleR[lw=1pt](C,\primaryR)

		% Secondary sphere
		\tkzCircleR[lw=1pt](C,\secondaryR)

	% Angles

		% Right angle at I
		%\tkzRightAngle(O/I/C)
		\tkzRightAngle(O/I2/C)

		% Tangent angle
		%\tkzMarkAngle[size=0.25,dist=0.08,labelsize={},label={\gamma_0}](I/C/O)

		\tkzPoint[name=\entity{S},pos=below,mark={}](4.14,0.15){Slabel}
		\tkzPoint[name=\entity{P},pos=below,mark={}](5.70,0.20){Plabel}
		\tkzPoint[name=\entity{M},pos=below,mark={}](6.75,0.20){Mlabel}

	% Arcs

		\tkzArcR[lw=2pt,color=red](C,\primaryR cm)(103,145)
		\tkzArcR[lw=2pt,color=red](C,\secondaryR cm)(103,145)

\end{tikzpicture}
