Inversion échangeant le cercle circonscrit et le cercle d'Euler
Author: Patrice Debart

V = (5.744784443805107, 2.0135744781337777)
O = (3.2, -0.7)
c = Circle(O, V)
A = Point(c)
C = Point(c)
B = Point(c)
ABC, AB, BC, AC = Polygon(A, B, C)
h3 = OrthogonalLine(C, Line[A, B])
C_2 = Intersect(c, h3, 2.0)
h2 = OrthogonalLine(B, Line[A, C])
B_2 = Intersect(c, h2, 2.0)
p_1 = Line(B_2, C_2)
h1 = OrthogonalLine(A, Line[B, C])
H = Intersect(h1, h2)
A'' = Midpoint(A, H)
B'' = Midpoint(B, H)
C'' = Midpoint(C, H)
m_2 = Line(C'', B'')
P' = Intersect(m_2, p_1)
m_3 = Line(C'', A'')
A_2 = Intersect(c, h1, 2.0)
p_2 = Line(A_2, C_2)
Q' = Intersect(p_2, m_3)
A_1 = Intersect(h1, Line[B, C])
B_1 = Intersect(h2, Line[A, C])
C_1 = Intersect(h3, Line[A, B])
A' = Midpoint(B, C)
B' = Midpoint(A, C)
C' = Midpoint(A, B)
Ω = Midpoint(O, H)
c' = Circle(Ω, B')
t_1 = Line(A_1, C_1)
dAC = Line(A, C)
dBC = Line(B, C)
p_3 = Line(A_2, B_2)
t_2 = Line(B_1, C_1)
Δ' = Line(O, H)
P_1 = Intersect(m_2, t_2)
dAB = Line(A, B)
Q = Intersect(dAC, t_1)
Q_2 = Intersect(dAC, p_2)
Q_1 = Intersect(m_3, t_1)
P_2 = Intersect(dBC, p_1)
j_1 = Line(C_1, A'')
j4 = Line(A, C_2)
P = Intersect(t_2, dBC)
D_1 = Line(P_1, Q_1)
D_2 = Line(P_2, Q_2)
Δ = Line(P, Q)
u = Vector(O, Ω)
I = Translate(O, Vector[2.0 / 3.0 * u])
v = Vector(O, I)
d = OrthogonalLine(H, Δ')
T_1 = Intersect(c, d, 2.0)
T_2 = Intersect(c, d, 1.0)
T_3 = Intersect(c', d, 2.0)
T_4 = Intersect(c', d, 1.0)
t1 = OrthogonalLine(T_1, Segment[T_1, O])
t3 = OrthogonalLine(T_3, Segment[T_3, Ω])
t2 = OrthogonalLine(T_2, Segment[T_2, O])
t4 = OrthogonalLine(T_4, Segment[T_4, Ω])
F = Intersect(t2, t3)
F' = Intersect(t4, t1)
F_1 = Intersect(t3, t4)
F_2 = Intersect(t1, t2)
prar, f, f_1, f', f_2 = Polygon(F, F_1, F', F_2)
D = Midpoint(H, I)
e = Circle(D, H)