Cónica dado el centro, dos tangentes y la longitud del semieje focal

$a$

$O$

$t_1$

$t_2$

O(a)

$F_1$

$F_2$

$S_2$

$S_1$

$P_1$

$P_2$

A = (-5.6674206608836935, 5.748116200004236)
B = (3.818909903625461, 5.594117327203762)
a_1 = Ray(A, B)
C = Point(a_1)
a = Segment(A, C)
O = (3.339490198139966, -1.294526194563919)
D = (-5.768119675285873, -1.3483269789407402)
E = (19.006238386862368, 11.206119572744266)
t_1 = Line(D, E)
F = (-2.50306877541574, 7.259904758103122)
G = (12.455681652901783, -2.4408736230070276)
t_2 = Line(F, G)
c = Circle(O, a)
H, J = Intersect(c, t_1)
I, K = Intersect(c, t_2)
b = OrthogonalLine(H, t_1)
d = OrthogonalLine(J, t_1)
e = OrthogonalLine(K, t_2)
f = OrthogonalLine(I, t_2)
F_1 = Intersect(b, f)
F_2 = Intersect(d, e)
S_2 = Mirror(F_2, t_2)
S_1 = Mirror(F_1, t_1)
g = Line(S_1, F_2)
h = Line(S_2, F_1)
P_1 = Intersect(t_1, g)
P_2 = Intersect(t_2, h)
k = Hyperbola(F_1, F_2, P_1)
p = Ellipse(F_1, F_2, P_1)
L = Intersect(d, f)
M = Intersect(b, e)
M' = Mirror(M, t_1)
i = Line(M', L)
N = Intersect(t_1, i)
q = Hyperbola(L, M, N)
r = Ellipse(M, L, N)
M'_1 = Mirror(M, t_2)
j = Line(M'_1, L)
Q = Intersect(j, t_2)

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])