Question: How to find an orthogonal circle ?

We consider a fixed circle (C) tangent to a fixed line Δ at a given point O of this line. 
Circles Γ tangent to circles C in M and to the right Δ in N are studied.
 Show that the MN line passes through a fixed point I. Infer that the circles Γ remain orthogonal to a fixed circle.
My code is :
 restart; with(geometry);with(plots);
_EnvHorizontalName := 'x';_EnvVerticalName := 'y';
dist := proc (M, N) sqrt(Vdot(expand(M-N), expand(M-N))) end proc;
point(oo, 0, 3); p := 6;
point(N, 5, 0);
line(Delta, y = 0, [x, y]);
para := x^2 = 2*p*y;
solve(subs(x = 5, para), y); point(varpi, 5, 25/12);
line(alpha, [oo, varpi]); k := 3/(25/12);
point(M, (0+5*k)/(1+k), (3+25*k*(1/12))/(1+k)); 
circle(C, x^2+(y-3)^2 = 9, [x, y]);cir := implicitplot(x^2+(y-3)^2 = 9, x = -5 .. 5, y = -5 .. 7, color = blue);
Para := implicitplot(para, x = -40 .. 40, y = 0 .. 40, linestyle = 3, color = coral);
homothety(J, N, -k, M); coordinates(J);
circle(C1, (y-25/12)^2+(x-5)^2 = (25/12)^2, [x, y]);line(lNJ, [N, J]);
triangle(T1, [J, oo, M]); triangle(T2, [N, varpi, M]);
C1 := implicitplot((y-25/12)^2+(x-5)^2 = (25/12)^2, x = 2 .. 8, y = 0 .. 5, color = magenta);dr1 := draw([oo, Delta, varpi, N, M, J], printtext = true); dr2 := draw([alpha(color = black), lNJ(color = black), T1(color = green, filled = true), T2(color = green, filled = true)]);
inversion(M, M, C);
inversion(N, M, C);
Fig := proc (xOm)
local cir, c2, C2, C1, c3, C3, k, M, N, J, sol, dr, varpi;
global p, para, Para;
sol := solve(subs(x = xOm, para), y);
cir := (y-sol)^2+(x-xOm)^2 = sol^2; c2 := x^2+(y-3)^2 = 9;
geometry:-point(N, xOm, 0); sol := solve(subs(x = xOm, para), y);
geometry:-point(varpi, xOm, sol); k := 3/sol;
geometry:-point(M, xOm*k/(k+1), (3+k*sol)/(k+1));
geometry:-homothety(J, N, -k, M);
c3 := (x-(1/2)*xOm)^2+(y-3)^2 = (1/4)*dist(N, J)^2;
C1 := plots:-implicitplot(cir, x = -xOm .. 3*xOm, y = 0 .. 3*xOm, color = magenta);
C2 := plots:-implicitplot(c2, x = -xOm .. 2*xOm, y = 0 .. 2*xOm, color = blue);
C3 := plots:-implicitplot(c3, x = -xOm .. 2*xOm, y = 0 .. 2*xOm, color = blue);
dr := geometry:-draw([varpi, M, J]);
plots:-display([Para, C2, C1, C3, dr], view = [-xOm .. 3*xOm, -1 .. 3*xOm], axes = normal, scaling = constrained) end proc;

Fig(8);
display([seq(Fig(4+.8*i), i = 4 .. 15)]);
display({C1, Para, cir, dr1, dr2}, view = [-8 .. 8, -1 .. 8], axes = normal, scaling = constrained, size = [500, 500]);
I don't know what is that orthogonal circle to each tangent circles. Thank you to help me.

.

Please Wait...