Elegir B en la curva y obtener CDE

Elegir Q en la base y obtener B1, B2

O = (0, 0)
r = 2
c = Circle(O, r)
P = (0, -2)
A = 30.00460969082622 (slider from min to 20 * r^(2), step 0.01)
k: (-A) / r^(2)
b: x^(2) * y + x * y^(2) + k * x * y = k
B = Point(b)
C: P - (r * x(B), 0)
a, d = Tangent(C, c)
α = Angle(C, O, P)
D: P + (r * y(B), 0)
e, f = Tangent(D, c)
E = Intersect(d, e)
tri, e_1, c_1, d_1 = Polygon(C, D, E)
min: 3 * sqrt(3) * r^(2)
β = Angle(P, O, D)
Q = Point(Ray[P, P - (1, 0)])
g, h = Tangent(Q, c)
x0: (-x(Q)) / r
y0a: (-(k + x0) - sqrt((k + x0)^(2) + 4 * k / x0)) / 2
y0b: (-(k + x0) + sqrt((k + x0)^(2) + 4 * k / x0)) / 2
B1: (x0, y0a)
B2: (x0, y0b)
D1: P + (r * y(B1), 0)
D2: P + (r * y(B2), 0)
i1, j = Tangent(D1, c)
i2, m = Tangent(D2, c)
E1 = Intersect(h, i1)
tri1, e1, q, d1 = Polygon(Q, D1, E1)
E2 = Intersect(h, i2)
tri2, e2, q_1, d2 = Polygon(Q, D2, E2)
verB = true
verA = false