axes

involution

foyers

O = Intersect(xAxis, yAxis)
Γ = Circle(O, 1)
A' = Point(Γ)
B' = Point(Γ)
C' = Point(Γ)
A'B' = Segment(A', B')
B'C' = Segment(B', C')
A'C' = Segment(C', A')
G': (A' + B' + C') / 3
ag = Line(A', G')
bg = Line(B', G')
cg = Line(C', G')
T = Midpoint(B', C')
U = Midpoint(C', A')
V = Midpoint(A', B')
ga' = Line(G', B'C')
gb' = Line(G', A'C')
w = (0.6396788932114412, -0.5997861036003069)
cw = Circle(w, G')
B_w = Mirror(G', OrthogonalLine[w, bg])
A_w = Mirror(G', OrthogonalLine[w, ag])
B'_w = Mirror(G', OrthogonalLine[w, gb'])
A'_w = Mirror(G', OrthogonalLine[w, ga'])
bb' = Line(B_w, B'_w)
aa' = Line(A'_w, A_w)
I = Intersect(bb', aa')
xy = Line(w, I)
Y, X = Intersect(cw, xy)
gx = Line(X, G')
gy = OrthogonalLine(G', gx)
b = false
a = true
c = false
tn = OrthogonalLine(T, B'C')
bc = Line(B', C')
M = Intersect(gx, bc)
N = Intersect(tn, gx)
c_{mn} = Circle(N, T, M)
P = Intersect(c_{mn}, Semicircle[G', Center[c_{mn}]])
GP = Segment(G', P)
c_G = Circle(G', P)
G_2, G_1 = Intersect(c_G, gx)
e = Ellipse(G_1, G_2, T)