Mostrar la construcción

j = true
P_1 = (0.35449951710474564, 2.355791365133724)
P_2 = (4.7741950113378735, 3.5096417233560073)
P_3 = (3.4284430146563616, -0.28797351415257016)
A = (-1.7545474051300982, 6.855091465901393)
B = (10.052151979613571, 2.3367212826034938)
t_1 = Line(A, B)
C = (0.14359482488126124, -2.3895642098946763)
D = (9.342481980261045, 0.9680166344919664)
t_2 = Line(C, D)
a = Line(P_2, P_3)
X = Intersect(t_1, a)
X' = Intersect(a, t_2)
E, F = PuntosDoblesInvolucion(a, X, X', P_2, P_3)
b = Line(P_1, P_3)
Y = Intersect(b, t_1)
Y' = Intersect(t_2, b)
G, H = PuntosDoblesInvolucion(b, Y, Y', P_3, P_1)
c = Line(F, H)
I = Intersect(t_1, c)
J = Intersect(t_2, c)
d = Conic(P_1, P_3, P_2, I, J)
e = Line(F, G)
K = Intersect(t_1, e)
L = Intersect(t_2, e)
M = Intersect(a, b)
f = Conic(P_1, P_2, P_3, K, L)
g = Line(E, H)
N = Intersect(t_1, g)
O = Intersect(t_2, g)
h = Conic(P_1, P_2, P_3, N, O)
i = Line(E, G)
P = Intersect(t_1, i)
Q = Intersect(i, t_2)
k = Conic(P_1, P_2, P_3, P, Q)

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 Cuatro Puntos Tangente (command ConicaCuatroPuntosTangente)
Dar una tangente, el punto de tangencia y tres puntos más
Input: t_P, P, P_1, P_3, P_2
Output: h, X

δ

Recta de Pascal

P = Point(t_P)
a = Line(P_2, P_3)
L = Intersect(a, t_P)
b = Line(L, P_1)
c = Line(P, P_2)
d = Line(P_3, P_1)
M = Intersect(c, d)
e = Line(M, L)
f = Line(P, P_3)
N = Intersect(e, f)
g = Line(P_2, N)
X = Intersect(b, g)
h = Conic(X, P_2, P, P_3, P_1)

Tool: Conica TangentePunto TangentePunto Punto (command ConicaTangentePuntoTangentePuntoPunto)
Tangente punto de tangencia, tangente punto de tangencia, Punto
Input: t_1, P_1, t_2, P_2, P
Output: f

P_1 = Point(t_2)
P_2 = Point(t_1)
a = AngularBisector(P_1, P, P_2)
b = Line(P, P_1)
E = Intersect(b, t_1)
c = Line(P_1, P_2)
F = Intersect(a, c)
d = Line(E, F)
G = Intersect(t_2, d)
e = Line(G, P_2)
H = Intersect(e, a)
f, I = ConicaCuatroPuntosTangente(t_2, P_1, H, P_2, P)

Tool: Conicas Tres Puntos Dos Tangentes (command ConicasTresPuntosDosTangentes)
Dar tres puntos y dos tangentes
Input: P_1, P_2, P_3, t_1, t_2
Output: d, h, f, k, I, J, K, L, P, Q, N, O

a = Line(P_2, P_3)
X = Intersect(t_1, a)
X' = Intersect(a, t_2)
E, F = PuntosDoblesInvolucion(a, X, X', P_2, P_3)
b = Line(P_1, P_3)
Y = Intersect(b, t_1)
Y' = Intersect(t_2, b)
G, H = PuntosDoblesInvolucion(b, Y, Y', P_3, P_1)
c = Line(F, H)
I = Intersect(t_1, c)
J = Intersect(t_2, c)
d = Conic(P_1, P_3, P_2, I, J)
e = Line(F, G)
K = Intersect(t_1, e)
L = Intersect(t_2, e)
f = Conic(P_1, P_2, P_3, K, L)
g = Line(E, H)
N = Intersect(t_1, g)
O = Intersect(t_2, g)
h = Conic(P_1, P_2, P_3, N, O)
i = Line(E, G)
P = Intersect(t_1, i)
Q = Intersect(i, t_2)
k = Conic(P_1, P_2, P_3, P, Q)