Code added on June 29, 2014
Clear["Global`*"]
Style[Pane[Framed[Manipulate[
(* GRAPHICS AND PLOTS COMBINED USING SHOW; LAST ITEM IN TRUMPS PREVIOUS *)
Show[{
circleK,
circleAPlot[offset oCircA],
circleBPlot[offset oCircA],invLineGraphics[offset oCircA],invAVGrPts[offset oCircA],
invLVGrPts[offset oCircA],
qPt,lineR,
labels[offset oCircA],
caption
},Axes->False,PlotRange->{xBnds,yBnds},Background->LightGray],
{{offset,2,Style["origin A multiplier",White,Bold]}, {3,2.5,2,1.5, 1, .5, 0,-.5}},
Initialization :> (
(* CONSTANTS *)
radCircA = 1/4; (* Radius of A *)
oCircA = (1+I)/(4 Sqrt[2]); (* Center of A *)
radR = 1; (* Radius of K *)
q = 0; (* Center of K *)
invAngles = Range[Pi/4, 3Pi/4, Pi/8];
(* PLOTTING BOUNDARIES *)
bnds = 4;
xBnds = {-bnds,bnds};
yBnds = {-bnds,bnds};
(* FUNCTIONS *)
(* THE POINT OF THE PLOT IS TO DEMONSTRATE THE BEHAVIOR OF THIS FUNCTION, Subscript[I, k](z), R = 1 *)
zInv[z_,q_,R_]:=(q Conjugate[z] + (R^2 - Abs[q]^2)/(Conjugate[z]-Conjugate[q]));
(* CONVERT COMPLEX TO VECTOR w REAL ELEMENTS *)
v[z_]:={Re[z],Im[z]};
(* CIRCLE WITH ORIGIN AT q AND RADIUS OF radR *)
circleK := Graphics[Circle[v[q],radR]];
(* CALCULATE COMPLEX POINTS OF CIRCLE A AND USE TABLE TO CREATE LIST OF POINTS *)
circleATable[centerA_] := Table[radCircA Exp[I \[Theta]]+centerA, {\[Theta], 0, 2Pi, .01}];
(* INVERT COMPLEX POINTS OF CIRCLE A BY MAPPING zInv[] TO LIST OF COMPLEX POINTS; RETURNS A LIST *)
circleBTable[centerA_] := zInv[#,q,radR]&/@circleATable[centerA];
(* MAP LISTS OF COMPLEX POINTS TO LISTS OF VECTORS *)
circleAVectors[centerA_] := v[#]&/@circleATable[centerA];
circleBVectors[centerA_] := v[#]&/@circleBTable[centerA];
(* CREATE LINE PLOTS FROM LISTS OF VECTORS *)
circleAPlot[centerA_] := ListLinePlot[circleAVectors[centerA],AspectRatio->1,PlotStyle->{Blue}];
circleBPlot[centerA_] := ListLinePlot[circleBVectors[centerA],AspectRatio->1,PlotStyle->{Blue}];
(* INVERSION POINTS IN A, SHOWN WITH RED DOTS AND ARROWS *)
invACPts[centerA_] := (radCircA Exp[I (#-Pi/4)]+centerA)&/@invAngles;
invLCPts[centerA_] := zInv[#,q,radR]&/@invACPts[centerA];
invAVGrPts[centerA_] :=Graphics[{Red,Point[v[#]]}&/@invACPts[centerA]];
invLVGrPts[centerA_]:= Graphics[{Red,Point[v[#]]}&/@invLCPts[centerA]];
invLineObjs[centerA_] := {Gray, Dashed,Arrowheads[.02],Arrow[{v[0],v[#]}]}&/@invLCPts[centerA];
invLineGraphics[centerA_] := Graphics[invLineObjs[centerA]];
(* OTHER *)
qPt = Graphics[Point[v[q]]];
lineR = Graphics[{Dashed,Gray,Line[{v[q],v[radR Exp[I (Pi/2+Pi/4)]]}]}];
(* LABELS *)
labelK=Text[Style["K", Bold, 12], v[-.5-.5I]];
labelA[centerA_] := {Blue,Text[Style["A", Bold, 8], v[centerA]]};
labelB[centerA_] :={Blue,Text[Style[If[Abs[centerA] == Abs[oCircA], "B = L","B"], Bold, 8], v[zInv[centerA +radCircA Exp[I Pi/4],q,radR]+.2+.2I]]};
labelq = Text[Style["q", Bold, 12], v[0]-{.1,.1}];
labelR = Text[Style["R", Bold, 10], v[(1/2)Exp[I(Pi/2+Pi/4)]]-{.1,.1}];
(* CONVERT TEXT PRIMITIVES TO GRAPHICS OBJECTS *)
labels[centerA_] := Graphics[{labelK, labelA[centerA], labelB[centerA],labelq,labelR}];
caption = Graphics[{Text[Style["Complex inversion of circle A in unit circle K\nto circle B or to line L if center q of K in A\nSubscript[I, k](z) =(q Overscript[z, _] + ((R^2)-|q|^2) )/(Overscript[z, _]-Overscript[q, _]), R=1", Bold,12], v[-2.2I]]}])
],Background->Black],{395,430},Alignment->Left],Background->LightGray]