Todos los puntos en el segmento

ControlOjo = Point(x ≤ -1)
O_1 = Intersect(xAxis, yAxis)
c = Circle(O_1, ControlOjo)
P, Q = Intersect(c, xAxis)
u = Vector(O_1, Q)
i_1 = Ray(Q, u)
B = Point(i_1)
g_2 = Ray(B, Vector[(0, 0), (0, -1)])
r = Distance(ControlOjo, O_1)
b_1 = Ray((r / 2, 0), u)
e = Circle(O_1, (0.92 * r))
d = Circle(O_1, (0.937 * r))
C_1 = Intersect(d, xAxis, 2)
C'_4 = Rotate(C_1, 21°)
l = Line(C'_4, xAxis)
K, R = Intersect(e, l)
F = Mirror(C'_4, xAxis)
n = Line(F, xAxis)
I, J = Intersect(e, n)
g_1 = Line(O_1, B)
ControlCristalino = Point(b_1)
p = CircleArc(ControlCristalino, R, J)
m = OrthogonalLine(B, xAxis)
C'_2 = Rotate(C_1, 40°)
C''_1 = Mirror(C'_2, xAxis)
f = Ray(O_1, C'_2)
g = Ray(O_1, C''_1)
D = Intersect(c, f)
E_2 = Intersect(c, g)
h = Segment(C'_2, D)
i = Segment(C''_1, E_2)
L, M = Intersect(e, xAxis)
s = CircumcircleArc(C'_2, C_1, C''_1)
t = CircumcircleArc(C'_2, C_1, C''_1)
C = Point(m)
A = Mirror(C, xAxis)
j_1 = Segment(A, C)
T = Intersect(e, xAxis, 2)
q = CircumcircleArc(J, T, R)
U = Intersect(d, l, 1)
V = Intersect(d, n, 1)
B'' = Intersect(p, g_1)
B' = Intersect(d, g_1, 1)
j = Segment(A, J)
k = Segment(A, R)
b = Segment(C, R)
f_1 = Segment(C, J)
k_1 = Segment(B, R)
l_1 = Segment(B, J)
a = Line(O_1, C)
h_1 = Line(O_1, A)
G = Intersect(q, a)
H = Intersect(q, h_1)
n_1 = Segment(O_1, H)
p_1 = Segment(O_1, G)
q_1 = Segment(H, A)
r_1 = Segment(G, C)
N = Intersect(q, g_1)
m_1 = Segment(O_1, N)
s_1 = Segment(N, B)
α = Angle(J, O_1, R)
cantidadrayos: 20
lista1 = Sequence(Rotate[J, (w * α / cantidadrayos)], w, 0, cantidadrayos)
O = Point(j_1)
lista2 = Sequence(Segment[O, Element[lista1, w]], w, 1, cantidadrayos + 1)
t_1 = Line(O_1, O)
S = Intersect(q, t_1)
a_1 = Segment(O_1, S)
c_1 = Segment(S, O)
o = false