cilindro = Point(xAxis)
D = Mirror(cilindro, (0, 0, 0))
cilindro' = Mirror(cilindro, zAxis)
radio = 1.5 (slider from 0 to 5, step 0.01)
a, c, d, b = Cylinder(cilindro, cilindro', radio)
A = (4.401861616920538, -4.14317890121977, 0)
e = OrthogonalPlane(A, xAxis)
F = PointIn(b)
g = Plane(F, e)
T = Intersect(xAxis, g)
h = Ray(T, F)
A' = Mirror(A, h)
i = Line(F, A')
B = Point(i)
j = OrthogonalPlane(F, h)
k = IntersectPath(j, a)
m = Segment(B, A)
K = Intersect(m, g)
p = Segment(F, A)
q = OrthogonalLine(B, e)
B' = Intersect(q, e)
J, C' = Intersect(e, k)
r = Line(B', J)
M = Intersect(r, i)
N = Intersect(xAxis, e)
O = Intersect(e, d)
s = Line(N, J)
t = Line(A, B')
E = Intersect(s, t)
f_1 = Segment(T, K)
g_1 = Segment(A, B')
l = Segment(A, M)
i_1 = Segment(M, B')
n = Segment(B, M)
j_1 = Segment(cilindro, cilindro')
h_1 = Segment(N, E)