A = (-0.9102841620218812, 3.5914456585312835)
B = (12.729216557985287, 8.991145172364428)
t_1 = Line(A, B)
C = (-0.03370956562039216, 5.51990977061455)
D = (5.0153601096521845, -3.73671796738513)
t_2 = Line(C, D)
F = (2.7012031751522527, 2.434367191281322)
S_1 = Mirror(F, t_1)
S_2 = Mirror(F, t_2)
d = Line(S_1, S_2)
d_1 = Parabola(F, d)
e = OrthogonalLine(S_1, d)
f = OrthogonalLine(S_2, d)
E = Intersect(e, t_1)
G = Intersect(f, t_2)
H = Intersect(d_1, t_1, 1)
I = Intersect(d_1, t_1, 1)
J = Intersect(d_1, t_1, 1)
K = Intersect(d_1, t_2, 1)
L = Intersect(d_1, t_1, 1)

Tool: Conica Punto Tangente Tangente_Punto (command ConicaPuntoTangenteTangente_Punto)
Dar el foco, dos tangentes y el punto de contacto de la última
Input: F, t, t_P, P
Output: e, g, f, F_2

P = Point(t_P)
S_1 = Mirror(F, t)
S_2 = Mirror(F, t_P)
a = Line(S_2, P)
b = LineBisector(S_1, S_2)
F_2 = Intersect(a, b)
e = Ellipse(F, F_2, P)
f = Hyperbola(F, F_2, P)
g = Parabola(F, Line[S_1, S_2])

Tool: Conica Dos Focos Una Tangente (command ConicaDosFocosUnaTangente)
Dar los dos focos y una tangente
Input: F, F', t
Output: c, d, P

S = Mirror(F, t)
a = Line(F', S)
P = Intersect(t, a)
c = Ellipse(F, F', P)
d = Hyperbola(F, F', P)

Tool: Elipse Vertices A B Excentricidad (command ElipseVerticesABExcentricidad)
Dar dos vértices en ejes distintos y uu número
Input: A, B, e
Output: k

B(OA)

E = Midpoint(B, A)
u = Vector(B, A)
v: e * u
B'_1 = Translate(B, v)
d = Circle(B'_1, Segment[B, A])
a = OrthogonalLine(B, u)
D = Intersect(d, a, 2)
f = Circle(D, B, A)
b = Tangent(B, f)
g = OrthogonalLine(E, b)
O = Mirror(B, g)
i = Line(O, A)
h = Circle(B, Segment[O, A])
F_2, F_1 = Intersect(h, i)
k = Ellipse(F_2, F_1, B)