Elipses

n21 =

n21 = 1.29 (slider from 1 to 3, step 0.01)
A = Intersect(xAxis, yAxis)
ControlCircunferencia = Point(Ray[A, Vector[(1, 0)]])
c = Circle(A, ControlCircunferencia)
G = Intersect(c, yAxis, 1)
p = Point(Ray[G, Vector[(0, -1)]])
D = Midpoint(A, p)
d = Circle(D, A)
C = Intersect(c, yAxis, 2)
E = Intersect(c, d, 2)
e = CircleArc(A, C, E)
F = Point(e)
f = Line(F, p)
m = Intersect(c, f, 2)
g = Line(A, m)
iesfera = Angle(A, m, F)
resfera: asind((n21 * sin(iesfera)))
A' = Rotate(A, 180° + resfera, m)
h = Line(m, A')
m'' = Intersect(h, yAxis)
i = Segment(m, m'')
j = Line(A, F)
A'_1 = Rotate(A, 180° - resfera, F)
k = Segment(F, A'_1)
l = Segment(F, m)
n = Segment(m, p)
H = Point(Ray[G, Vector[(0, -1)]])
I = PointIn((y > (0.99 * y(H))) ∧ (y < -0.01))
H' = Mirror(H, xAxis)
I' = Mirror(I, yAxis)
I'_1 = Mirror(I, xAxis)
q = Conic(I, H, I', H', I'_1)
me = Intersect(q, n, 1)
J = Point(Segment[A, H])
r_1 = OrthogonalLine(J, yAxis)
K, L = Intersect(q, r_1)
lugar1 = Locus(K, J)
lugar2 = Locus(L, J)
s = Tangent(me, q)
t = OrthogonalLine(me, s)
M = Intersect(t, yAxis)
α = Angle(M, me, F)
β: asind((n21 * sin(α)))
M' = Rotate(M, 180° + β, me)
r = Line(me, M')
me'' = Intersect(r, yAxis)
a = Segment(me, me'')
N = Point(Segment[(2.5 * ControlCircunferencia), (-2.5 * ControlCircunferencia)])
f_1 = OrthogonalLine(N, xAxis)
O = Intersect(s, f_1)
lugar3 = Locus(O, N)
o = false
CasillaDeEntrada1 = Textfield(n21)
b = Segment(p, C)