Propriétés homothétiques de la droite des douze points
Author: Patrice Debart

V = (7.2, 2.3)
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_5 = 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_5)
m_3 = Line(C'', A'')
A_2 = Intersect(c, h1, 2.0)
p_6 = Line(A_2, C_2)
Q' = Intersect(p_6, m_3)
A_1 = Intersect(h1, Line[C, B])
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)
t_3 = Line(A_1, B_1)
b_2 = Line(A, C)
a_2 = 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)
Q = Intersect(b_2, t_1)
Q_2 = Intersect(b_2, p_6)
Q_1 = Intersect(m_3, t_1)
P_2 = Intersect(a_2, p_5)
j_2 = Line(C, A_2)
P = Intersect(t_2, a_2)
D_1 = Line(P_1, Q_1)
D_2 = Line(P_2, Q_2)
Δ = Line(P, Q)
d = Ray(H, P_1)
e = Ray(H, Q_1)
P'' = Intersect(d, Δ)
Q'' = Intersect(e, Δ)
poly2, p, p_1, p', p_2 = Polygon(P, P_1, P', P_2)
poly3, q, q_2, q', q_1 = Polygon(Q, Q_2, Q', Q_1)