Mostrar La construcción

o = true
P_1 = (6.4041526814027305, 2.0918826174839618)
P_2 = (1.1066341922734224, -4.516902824400063)
A = (-12.806675325664752, -6.276916666450963)
B = (10.766308121357861, 9.97379737317968)
t_1 = Line(A, B)
C = (3.0188746838594467, 9.26519065633532)
D = (13.742456332104203, -4.387298754866003)
t_2 = Line(C, D)
E = (-14.601812341670483, -4.576260546024499)
F = (17.19100902074679, -7.835851443508553)
t_3 = Line(E, F)
G = Intersect(t_2, t_3)
H = Intersect(t_1, t_3)
I = Intersect(t_1, t_2)
δ_1 = Line(G, P_1)
δ_2 = Line(G, P_2)
J = Intersect(δ_1, t_1)
K = Intersect(δ_2, t_1)
L, M = PuntosDoblesInvolucion(t_1, I, H, J, K)
c = Line(H, P_1)
d = Line(H, P_2)
N = Intersect(t_2, c)
O = Intersect(t_2, d)
P, Q = PuntosDoblesInvolucion(t_2, I, G, N, O)
e = Line(G, L)
f = Line(G, M)
g = Line(H, Q)
h = Line(H, P)
R = Intersect(e, g)
i = Line(P_1, R)
j = Line(P_2, R)
k, S, T, U, V, W = ConicaCincoTangentes(t_1, t_2, t_3, i, j)
Z = Intersect(e, h)
l = Line(Z, P_1)
m = Line(Z, P_2)
p, A_1, B_1, C_1, D_1, E_1 = ConicaCincoTangentes(t_1, t_2, t_3, l, m)
F_1 = Intersect(f, h)
n = Line(F_1, P_1)
q = Line(F_1, P_2)
r, G_1, H_1, I_1, J_1, K_1 = ConicaCincoTangentes(t_1, t_2, t_3, n, q)
L_1 = Intersect(f, g)
s = Line(L_1, P_1)
t = Line(L_1, P_2)
c_1, M_1, N_1, O_1, Q_1, R_1 = ConicaCincoTangentes(t_1, t_3, t_2, s, t)

Tool: Puntos Dobles Involucion (command PuntosDoblesInvolucion)
Dar pares de puntos conjugados sobre una recta
Input: l, A, A', B, B'
Output: G, H

$\ell$

A = Point(l)
A' = Point(l)
B = Point(l)
B' = Point(l)
C = Midpoint(A, A')
c = Circle(C, A)
a = OrthogonalLine(C, l)
D = Intersect(c, a, 2)
e = Line(D, B)
f = Line(D, B')
g = OrthogonalLine(C, e)
h = OrthogonalLine(C, f)
D' = Mirror(D, h)
D'_1 = Mirror(D, g)
i = Line(A, D')
j = Line(A', D'_1)
X = Intersect(i, j)
k = Line(A, D'_1)
m = Line(A', D')
Y = Intersect(m, k)
n = Line(X, Y)
E, F = Intersect(c, n)
p = Line(D, F)
q = Line(E, D)
G = Intersect(l, q)
H = Intersect(l, p)

Tool: Conica Cinco Tangentes (command ConicaCincoTangentes)
Dar las cinco tangentes
Input: t_1, t_2, t_3, t_4, t_5
Output: q, P_1, P_2, P_3, P_4, P_5

K = Intersect(t_1, t_5)
N = Intersect(t_3, t_2)
m = Line(N, K)
O = Intersect(t_2, t_1)
L = Intersect(t_5, t_4)
g = Line(L, O)
W_1 = Intersect(g, m)
M = Intersect(t_4, t_3)
p = Line(M, W_1)
P_1 = Intersect(p, t_1)
k = Line(M, O)
W_2 = Intersect(k, m)
n = Line(L, W_2)
P_2 = Intersect(t_2, n)
i = Line(L, N)
W_3 = Intersect(i, k)
l = Line(K, W_3)
P_3 = Intersect(t_3, l)
f = Line(K, M)
W_4 = Intersect(f, i)
j = Line(O, W_4)
P_4 = Intersect(t_4, j)
W_5 = Intersect(g, f)
h = Line(N, W_5)
P_5 = Intersect(t_5, h)
q = Conic(P_4, P_3, P_2, P_1, P_5)

Tool: Conicas Dos Puntos Tres Tangentes (command ConicasDosPuntosTresTangentes)
Dar dos puntos y tres tangentes
Input: P_1, P_2, t_1, t_2, t_3
Output: c_1, k, p, r

G = Intersect(t_2, t_3)
H = Intersect(t_1, t_3)
I = Intersect(t_1, t_2)
a = Line(G, P_1)
b = Line(G, P_2)
J = Intersect(a, t_1)
K = Intersect(b, t_1)
L, M = PuntosDoblesInvolucion(t_1, I, H, J, K)
c = Line(H, P_1)
d = Line(H, P_2)
N = Intersect(t_2, c)
O = Intersect(t_2, d)
P, Q = PuntosDoblesInvolucion(t_2, I, G, N, O)
e = Line(G, L)
f = Line(G, M)
g = Line(H, Q)
h = Line(H, P)
R = Intersect(e, g)
i = Line(P_1, R)
j = Line(P_2, R)
k, S, T, U, V, W = ConicaCincoTangentes(t_1, t_2, t_3, i, j)
Z = Intersect(e, h)
l = Line(Z, P_1)
m = Line(Z, P_2)
p, A_1, B_1, C_1, D_1, E_1 = ConicaCincoTangentes(t_1, t_2, t_3, l, m)
F_1 = Intersect(f, h)
n = Line(F_1, P_1)
q = Line(F_1, P_2)
r, G_1, H_1, I_1, J_1, K_1 = ConicaCincoTangentes(t_1, t_2, t_3, n, q)
L_1 = Intersect(f, g)
s = Line(L_1, P_1)
t = Line(L_1, P_2)
c_1, M_1, N_1, O_1, Q_1, R_1 = ConicaCincoTangentes(t_1, t_3, t_2, s, t)