Axe orthique et tangentes
Author: Patrice Debart

W = (7.153037444513565, 0.6964113264513075)
O = (3.205022300829743, -1.0244374653939678)
c = Circle(O, W)
A = Point(c)
C = Point(c)
B = Point(c)
ABC, AB, BC, AC = Polygon(A, B, C)
h_3 = OrthogonalLine(C, Line[A, B])
h_2 = OrthogonalLine(B, Line[A, C])
dBC = Line(C, B)
B_1 = Intersect(h_2, Line[A, C])
C_1 = Intersect(h_3, Line[A, B])
h = Line(B_1, C_1)
h_1 = OrthogonalLine(A, Line[C, B])
A_2 = Intersect(c, h_1, 2.0)
B_2 = Intersect(c, h_2, 2.0)
C_2 = Intersect(c, h_3, 2.0)
H = Intersect(h_1, h_2)
A' = Midpoint(B, C)
B' = Midpoint(A, C)
C' = Midpoint(A, B)
Ω = Midpoint(O, H)
c' = Circle(Ω, B')
A_1 = Intersect(h_1, Line[C, B])
d_1 = Line(A_1, C_1)
e_1 = Line(A_1, B_1)
dAC = Line(C, A)
dAB = Line(B, A)
P = Intersect(dBC, h)
Q = Intersect(d_1, dAC)
R = Intersect(e_1, dAB)
Δ = Line(P, Q)
M = Point(c)
k = Line(M, H)
M' = Intersect(c', k, 2.0)
MM' = Segment(M, M')
dMA = Line(M, A)
m = Line(M', A_1)
Δ' = Line(O, H)
S = Intersect(dMA, m)
A'' = Midpoint(H, A)
B'' = Midpoint(H, B)
C'' = Midpoint(H, C)
t_1 = OrthogonalLine(A, Segment[A, O])
t_2 = OrthogonalLine(A_1, Segment[A_1, Ω])
u_2 = OrthogonalLine(B_1, Segment[B_1, Ω])
v_2 = OrthogonalLine(C_1, Segment[C_1, Ω])
u_1 = OrthogonalLine(B, Segment[B, O])
T = Intersect(t_1, t_2)
U = Intersect(u_1, u_2)
v_1 = OrthogonalLine(C, Segment[C, O])
V = Intersect(v_1, v_2)