B

A

E

D

C

A'

B'

radioOjo = 0.84 (slider from 0 to 3, step 0.01)
Ojo_1 = PointIn(x ≥ radioOjo)
c_1 = Circle(Ojo_1, radioOjo)
α = 0.33161255787892263 rad (slider from 0 to Angle[G, Ojo, E], step °)
j_1 = Ray((0, 0), (0, 1))
TamañoLente = Point(j_1)
U' = Mirror(TamañoLente, xAxis)
ControlLente = Point(Ray[(0, 0), (-1, 0)])
k_1 = CircleArc(ControlLente, U', TamañoLente)
p_1 = Mirror(k_1, yAxis)
T = Intersect(p_1, xAxis)
I = Point(Ray[T, Vector[(-1, 0)]])
J_1: ((3 * (x(I) - x(T))) + x(T), 0)
r = OrthogonalLine(J_1, xAxis)
f_1 = OrthogonalLine(I, xAxis)
M = Point(f_1)
g_1 = Line(Ojo_1, M)
N = Intersect(c_1, g_1, 2)
N' = Rotate(N, (-α), Ojo_1)
N'' = Mirror(N', g_1)
i = Line(N'', M)
K_1 = Intersect(i, r)
B = Point(Ray[(0, 0), Vector[(1, 0)]])
f = OrthogonalLine(B, xAxis)
A = Point(f)
A' = Mirror(A, yAxis)
Ojo = PointIn(x ≥ radioOjo)
c = Circle(Ojo, radioOjo)
h = Line(Ojo, A')
E = Intersect(c, h, 2)
L = Intersect(yAxis, h)
O' = Mirror(Ojo, E)
F = Midpoint(E, O')
d = Circle(F, radioOjo)
G = Intersect(c, d, 2)
D = Rotate(E, (-α), Ojo)
C = Mirror(D, h)
j = Line(C, A')
K = Intersect(j, yAxis)
k = Line(D, A')
J = Intersect(yAxis, k)
B' = Mirror(B, yAxis)
u = Vector(B, A)
v = Vector(B', A')
C' = If(y(L) ≥ -1, (0, -2), (0, y(L) - 1))
C_1 = If(y(L) ≤ 1, (0, 2), (0, y(L) + 1))
g = Segment(C_1, C')
D_1: (0, 0)
H = Intersect(c, d, 1)
e = CircleArc(F, H, G)
l = Segment(K, C)
m = Segment(K, A')
p = Segment(A', J)
s = Segment(J, D)
t = Segment(K, A)
b = Segment(J, A)
n = Segment(L, E)
q = Segment(L, A')
a = Segment(L, A)
o = Max(abs(y(J)), abs(y(K)))
r_1 = 1.26 (slider from 0 to 3, step 0.01)
w = Vector(I, M)
O = Mirror(Ojo_1, N)
P = Midpoint(O, N)
d_1 = Circle(P, radioOjo)
Q = Intersect(c_1, d_1, 2)
R = Intersect(c_1, d_1, 1)
e_1 = CircleArc(P, R, Q)
S: K_1
h_1 = Line(N, S)
i_1 = Line(S, N')
V = Intersect(k_1, i)
W = Intersect(k_1, h_1)
Z = Intersect(k_1, i_1)
A_1 = Intersect(p_1, i)
B_1 = Intersect(p_1, h_1)
E_1, N_1 = Intersect(p_1, i_1)
l_1 = OrthogonalLine(S, xAxis)
F_1 = Intersect(l_1, xAxis)
u_1 = Vector(F_1, S)
m_1 = Line(M, Z)
U = Intersect(p_1, m_1)
G_1 = Midpoint(U, E_1)
n_1 = Segment(M, G_1)
q_1 = Segment(G_1, Z)
s_1 = Line(M, W)
H_1 = Intersect(p_1, s_1)
I_1 = Midpoint(H_1, B_1)
t_1 = Segment(M, I_1)
a_1 = Segment(I_1, W)
b_1 = Segment(V, S)
f_2 = Segment(W, S)
g_2 = Segment(Z, S)
h_2 = Segment(M, V)
i_2 = Segment(V, N'')
j_2 = Segment(N, W)
k_2 = Segment(Z, N')
O_1 = Intersect(h_1, yAxis)