B = Intersect(xAxis, yAxis)
CentroCurvatura = Point(Ray[B, Vector[(-1, 0)]])
Foco1 = Midpoint(CentroCurvatura, B)
TamañoLente = Point(Ray[B, Vector[(0, 1)]])
L' = Mirror(TamañoLente, xAxis)
c = CircleArc(CentroCurvatura, L', TamañoLente)
H = Intersect(c, xAxis, 1)
I = Midpoint(B, H)
A = Point(Ray[Foco1, Vector[(-1, 0)]])
f = OrthogonalLine(A, xAxis)
E = Point(f)
g = Line(E, Foco1)
D_1 = Intersect(g, yAxis)
h = Line(D_1, xAxis)
i = Line(E, B)
F = Intersect(h, i)
j = OrthogonalLine(F, xAxis)
Z = Intersect(j, xAxis)
c' = Mirror(c, yAxis)
Foco2 = Mirror(Foco1, yAxis)
u = Vector(A, E)
v = Vector(Z, F)
Ojos = 0.37 (slider from 0 to 1, step 0.01)
O_3 = Point(Segment[I, Z])
k = OrthogonalLine(O_3, xAxis)
d = Circle(O_3, Ojos)
O_2, O_1 = Intersect(d, k)
l = Line(Z, O_1)
m = Line(Z, O_2)
e = CircumcircleArc(L', I, TamañoLente)
L'' = Mirror(L', yAxis)
I' = Mirror(I, yAxis)
L'_1 = Mirror(TamañoLente, yAxis)
e' = CircumcircleArc(L'', I', L'_1)
n = Segment(O_2, O_1)
C = Intersect(yAxis, l)
D = Intersect(m, yAxis)
p = Segment(D, A)
q = Segment(A, C)
t = Segment(A, O_2)
a = Segment(A, O_1)
β = Angle(D, Z, C)
O = Midpoint(A, Z)
r = Segment(O_2, Z)
s = Segment(Z, O_1)
b = Segment(O_1, C)
f_1 = Segment(D, O_2)
G = If(x(O) ≥ 2, B + (1, 0), (x(O) - 1, 0))
c_1 = Circle(A, G)
J = Intersect(c_1, t)
K = Intersect(c_1, a)
α = CircleSector(A, J, K)
BZ = Distance(B, Z)
LL' = Distance(TamañoLente, L')
Q: (x(Z) - ((BZ * 2) * Ojos / LL'), 0)
P = Midpoint(O, Q)