Parábola: dado la directriz, un punto y una tangente

$\Gamma$

A = (-1.1236511577910104, 10.184163400666336)
B = (-0.5889727051767871, -12.175117345019398)
d = Line(A, B)
C = (-7.422221218574222, 3.8087361822472277)
D_1 = (7.354346926400675, -5.426618908362097)
t = Line(C, D_1)
P = (4.972597455664589, 6.579342709430025)
c = OrthogonalLine(P, d)
Q = Intersect(d, c)
d_1 = Circle(P, Q)
d' = Mirror(d_1, t)
S_2, S_1 = Intersect(d', d)
F_2 = Mirror(S_2, t)
F_1 = Mirror(S_1, t)
e = Parabola(F_1, d)
f = Parabola(F_2, d)
J = Intersect(d, t)
F' = Mirror(Q, J)
F = Mirror(F', t)
g = Parabola(F, d)
a = Line(S_2, c)
b = Line(S_1, c)
E = Intersect(t, a)
G = Intersect(t, b)

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: ParabolaPuntoDirectrizTangente
Dar el punto, la directriz y luego la tangente
Input: P, d, t
Output: e, f, g, F, F_1, F_2, G, E

c = OrthogonalLine(P, d)
D = Intersect(d, c)
d_1 = Circle(P, D)
d' = Mirror(d_1, t)
S_2, S_1 = Intersect(d', d)
F_2 = Mirror(S_2, t)
F_1 = Mirror(S_1, t)
e = Parabola(F_1, d)
f = Parabola(F_2, d)
J = Intersect(d, t)
F' = Mirror(D, J)
F = Mirror(F', t)
g = Parabola(F, d)
a = Line(S_2, c)
b = Line(S_1, c)
E = Intersect(t, a)
G = Intersect(t, b)