p_tF'

F = (1.8, 0.6)
S' = (4.6, 4.74)
A = (6.02, 2.58)
F' = Mirror(S', A)
δ = Line(S', A)
t = OrthogonalLine(A, δ)
c = Line(S', F)
P = Intersect(t, c)
d = Ellipse(F, F', P)
e = Hyperbola(F, F', P)

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)