P = (0.24, 3.5)
A = (2.58, -2.52)
t = Line(P, A)
B = (0.46, -1.66)
C = (6.62, 5.56)
h = Line(B, C)
O = Point(h)
P' = Mirror(P, O)
Q = Intersect(t, h)
h' = Line(P, h)
d = Line(Q, P')
Q_1 = Intersect(h', d)
P_1 = ConjugadoArmonico(Q, Q_1, P')
t' = Mirror(t, O)
Q' = Intersect(t', h')
M = Midpoint(Q', P_1)
e = Line(M, O)
f, J, K, L, M_1 = HiperbolaPuntoDosAsintotas(P, h, e)

Tool: Conjugado Armonico (command ConjugadoArmonico)
Dar dos puntos A, B y un punto sobre AB, determina D, tal que (CD;AB)=-1
Input: A, B, C
Output: D

a = Line(A, B)
O = Midpoint(A, B)
c = Circle(O, A)
b = Polar(C, c)
D = Intersect(a, b)

Tool: Hiperbola Punto Dos Asintotas (command HiperbolaPuntoDosAsintotas)
Dar un punto y las dos asíntotas
Input: P, h_1, h_2
Output: p, P', P'_1, P_1, P_2

E = Intersect(h_1, h_2)
P' = Mirror(P, E)
b = Line(P, h_2)
c = Line(P', h_1)
d = Line(P, h_1)
e = Line(P', h_2)
F = Intersect(e, d)
G = Midpoint(P', F)
f = Line(P, G)
H = Intersect(b, c)
g = Line(H, G)
h = Line(P', g)
P_1 = Intersect(f, h)
P'_1 = Mirror(P_1, E)
J = Midpoint(G, F)
i = Line(P, J)
j = Line(H, i)
K = Intersect(h_2, j)
k = Line(K, P')
P_2 = Intersect(i, k)
p = Conic(P', P_1, P_2, P, P'_1)

Tool: hOt_P
Hipérbola dado h (asíntota), O (centro, sobre h), P y tangente en P
Input: h, O, P, t
Output: f, e

P' = Mirror(P, O)
t' = Mirror(t, O)
h' = Line(P, h)
Q' = Intersect(t', h')
Q = Intersect(t, h)
d = Line(Q, P')
Q_1 = Intersect(h', d)
P_1 = ConjugadoArmonico(Q, Q_1, P')
M = Midpoint(Q', P_1)
e = Line(M, O)
f, J, K, L, M_1 = HiperbolaPuntoDosAsintotas(P, h, e)