S_1

S_2

Ge et L

A = (-3.7425896274713986, 3.190759526354227)
B = (-4, 1)
C = (-1, 1)
BC = Segment(B, C)
AC = Segment(C, A)
AB = Segment(A, B)
I = Intersect(AngularBisector[A, B, C], AngularBisector[B, A, C])
D = Intersect(BC, OrthogonalLine[I, BC])
E = Intersect(AC, OrthogonalLine[I, AC])
F = Intersect(AB, OrthogonalLine[I, AB])
c_A = Circle(A, E)
c_B = Circle(B, D)
c_C = Circle(C, D)
df = Line(D, F)
F' = Mirror(F, OrthogonalLine[A, df])
au = Line(A, Mirror[A, BC])
U' = Intersect(c_A, au, 2)
P' = Mirror(A, U')
c_p = Circle(P', U')
V' = Translate(F', Vector[A, P'])
W' = Mirror(V', P')
dv = Line(D, V')
dw = Line(D, W')
du = Line(D, U')
c_{1} = Circle(I, D)
vy = Line(F', au)
wy = Line(W', au)
U = Mirror(U', OrthogonalLine[A, du])
V = Mirror(D, OrthogonalLine[B, dv])
W = Mirror(D, OrthogonalLine[C, dw])
Γ = Circle(U, V, W)
S_1 = Center(Γ)
V'' = Mirror(V', F')
P'' = Mirror(P', A)
W'' = Mirror(V'', P'')
U'' = Mirror(U', A)
a = false
c_p' = Circle(P'', U'')
dv' = Line(D, V'')
du' = Line(D, U'')
dw' = Line(D, W'')
U_2 = Mirror(U'', OrthogonalLine[A, du'])
V_2 = Mirror(D, OrthogonalLine[B, dv'])
W_2 = Mirror(D, OrthogonalLine[C, dw'])
Γ' = Circle(U_2, V_2, W_2)
b = false
S_2 = Center(Γ')
ss = Line(S_1, S_2)
Ge = Intersect(Line[A, D], Line[B, E])
abc = Circle(A, B, C)
O = Center(abc)
G: (A + B + C) / 3
H = Dilate(G, 3, O)
og = Line(H, O)
L = Mirror(H, O)
c = false
AD = Segment(A, D)
CF = Segment(C, F)
BE = Segment(B, E)