Inversions échangeant deux cercles sécants
Author: Patrice Debart

V' = (3.1, 1.16)
O' = (3.58, 2)
c' = Circle(O', V')
V = (-3.022619047619048, 3.790857142857143)
O = (-0.84, 2)
c = Circle(O, V)
R = Point(c)
OR = Segment(O, R)
d = Line(O', OR)
S = Intersect(c', d, 2.0)
I = Intersect(Line[O, O'], Line[R, S])
K = Midpoint(O, I)
k = Circle(K, I)
T_1 = Intersect(c, k, 2.0)
dIT1 = Ray(I, T_1)
T'_1 = Intersect(c', dIT1, 1.0)
U_1 = Midpoint(T_1, T'_1)
T = Intersect(c, k, 1.0)
dIT = Ray(I, T)
T' = Intersect(c', dIT, 1.0)
U = Midpoint(T, T')
S_1 = Intersect(c', d, 1.0)
J = Intersect(Line[O, O'], Line[R, S_1])
Q = Midpoint(I, J)
e = Circle(Q, I)
A, B = Intersect(c, e)
M = Point(c)
Δ = Line(U, U_1)
dOO' = Ray(I, O)
C = Intersect(c, dOO', 2.0)
D = Intersect(c', dOO', 1.0)
E = Midpoint(C, D)
f = Circle(E, C)
F = Midpoint(I, E)
h = Circle(F, I)
G = Intersect(f, h, 2.0)
Γ = Circle(I, G)
M' = Mirror(M, Γ)
IM = Segment(I, M)
TT1 = Line(T, T_1)
T'T1 = Line(T', T'_1)
dIG = Ray(I, G)
N = Point(c)
N' = Mirror(N, Γ)
IN = Segment(N, I)
dMN' = Line(M', N')
γ = Circle(M, N, M')
dMN = Line(M, N)
P = Intersect(dMN', dMN)