Points de contact

axes

A = (-1.9027041937297742, 3.5363773448910223)
B = Point(xAxis)
C = Point(xAxis)
bc = Line(B, C)
ab = Line(A, B)
ac = Line(A, C)
AB = Segment(A, B)
BC = Segment(B, C)
AC = Segment(A, C)
D = Midpoint(B, C)
E = Midpoint(A, C)
F_{1} = Midpoint(A, B)
O = (-0.5889360422527966, 0.9737184815161729)
ef = Line(F_{1}, E)
de = Line(D, E)
df = Line(F_{1}, D)
E' = Dilate(E, 10, D)
D' = Dilate(D, 10, E)
F'_{2} = Dilate(F_{1}, 10, E)
E'_{1} = Dilate(E, 10, F_{1})
F'_{1} = Dilate(F_{1}, 10, D)
D'_{1} = Dilate(D, 10, F_{1})
t1, d, f, e_{2} = Polygon(F_{1}, E, D)
t2, d', d_1, d'_{1} = Polygon(D, D'_{1}, D')
t3, e'_{1}, e_1, e' = Polygon(E, E', E'_{1})
t4, f', f'_{1}, f_1 = Polygon(F'_{1}, F_{1}, F'_{2})
oa = Line(A, O)
V' = Intersect(ac, Line[O, ab])
W' = Intersect(ab, Line[O, ac])
V'W' = Segment(W', V')
U_1 = Intersect(bc, Line[O, ac])
U_2 = Intersect(bc, Line[O, ab])
W_2 = Intersect(ab, Line[O, bc])
V_2 = Intersect(ac, Line[O, bc])
U_2W_2 = Segment(W_2, U_2)
U_1V_2 = Segment(U_1, V_2)
V_2W_2 = Segment(W_2, V_2)
U_2V' = Segment(V', U_2)
U_1W' = Segment(W', U_1)
U' = Intersect(Line[W', U_2W_2], Line[V', U_1V_2])
au = Line(A, U')
U = Intersect(au, bc)
U'W' = Segment(W', U')
U'V' = Segment(U', V')
V = Intersect(Line[U, U'V'], ac)
W = Intersect(Line[U, U'W'], ab)
VW = Segment(W, V)
UV = Segment(V, U)
UW = Segment(U, W)
a = true
w = (1.4871420242787234, 1.2494475997273908)
c = Circle(w, O)
oa' = Line(O, VW)
ob = Line(B, O)
ob' = Line(O, UW)
B_1 = Mirror(O, OrthogonalLine[w, ob])
B' = Mirror(O, OrthogonalLine[w, ob'])
bb' = Line(B_1, B')
A' = Mirror(O, OrthogonalLine[w, oa'])
A_1 = Mirror(O, OrthogonalLine[w, oa])
aa' = Line(A', A_1)
I = Intersect(bb', aa')
xy = Line(I, w)
Y, X = Intersect(c, xy)
oy = Line(Y, O)
ox = Line(O, X)
W'_{1} = Mirror(W, ox)
V'_{1} = Mirror(V, oy)
e = Conic(V'_{1}, V, U, W'_{1}, W)
F, F' = Focus(e)
b = false