Hand

λ = 2 (slider from 1 to 3, step 0.2)
B = Point(yAxis)
A = Intersect(xAxis, yAxis)
U = Midpoint(B, A)
C = (6.931249750435598, 1.0819504591821867)
a = Ray(A, C)
c = Circle(A, 15)
D = Intersect(c, a)
b = OrthogonalLine(D, a)
E, F = Intersect(c, xAxis)
α = Angle(F, A, D)
e = Circle(A, 12)
f = OrthogonalLine(B, b)
G = Intersect(f, b)
g = Ray(B, G)
d: λ / 2 / abs(sin(α))
h = Circle(B, d)
H, I = Intersect(h, yAxis)
B' = Mirror(B, H)
H' = Mirror(H, B')
C' = Mirror(C, B')
B'' = Mirror(B', H')
H'' = Mirror(H', B'')
B''' = Mirror(B'', H'')
H''' = Mirror(H'', B''')
J = Mirror(B''', H''')
K = Mirror(H''', J)
J' = Mirror(J, K)
J'_1 = Mirror(J, H)
i = OrthogonalLine(H, b)
L = Intersect(b, i)
G' = Mirror(G, L)
L' = Mirror(L, G')
G'' = Mirror(G', L')
L'' = Mirror(L', G'')
G''' = Mirror(G'', L'')
L''' = Mirror(L'', G''')
M = Mirror(G''', L''')
N = Mirror(L''', M)
M' = Mirror(M, N)
Vieleck1 = If(y(H) > 0, Polygon[B, G, L, H], Polygon[B, G, D, A])
Vieleck2 = If(y(B') > 0, Polygon[B', H, L, G'], If[y(H) > 0, Polygon[A, H, L, D]])
Vieleck3 = If(y(B'') > 0, Polygon[B'', H', L', G''], If[y(H') > 0, Polygon[A, H', L', D]])
Vieleck4 = If(y(B''') > 0, Polygon[B''', H'', L'', G'''], If[y(H'') > 0, Polygon[A, H'', L'', D]])
Vieleck5 = If(y(H') > 0, Polygon[H', B', G', L'], If[y(B') > 0, Polygon[A, B', G', D]])
Vieleck6 = If(y(H'') > 0, Polygon[H'', B'', G'', L''], If[y(B'') > 0, Polygon[A, B'', G'', D]])
Vieleck7 = If(y(H''') > 0, Polygon[H''', B''', G''', L'''], If[y(B''') > 0, Polygon[A, B''', G''', D]])
Vieleck8 = If(y(J) > 0, Polygon[J, H''', L''', M], If[y(H''') > 0, Polygon[A, H''', L''', D]])
Vieleck9 = If(y(K) > 0, Polygon[K, J, M, N], If[y(J) > 0, Polygon[A, J, M, D]])
Vieleck10 = If(y(J') > 0, Polygon[J', K, N, M'], If[y(K) > 0, Polygon[A, K, N, D]])
k = Circle(U, 5)
O, P = Intersect(k, xAxis)
j = OrthogonalLine(O, xAxis)
l = OrthogonalLine(B, j)
Q = Intersect(j, l)
Vieleck11, b_1, q, o, a_1 = Polygon(B, Q, O, A)
p = Circle(U, 8)
R, S = Intersect(p, yAxis)
K' = Mirror(K, J')
J'' = Mirror(J', K')
N' = Mirror(N, M')
M'' = Mirror(M', N')
Vieleck12 = If(y(K') > 0, Polygon[K', J', M', N'], If[y(J') > 0, Polygon[A, J', M', D]])
Vieleck13 = If(y(J'') > 0, Polygon[K', J'', M'', N'], If[y(K') > 0, Polygon[A, K', N', D]])
β = Angle(D, A, F)
r = OrthogonalLine(A, f)
T = Intersect(f, r)
s = Segment(A, T)
t = Segment(B, T)
u: t / λ
Text1: "" + u + " λ"
V = Center(p)
m = Segment(S, B)
n = Segment(A, R)
f_1 = Line(A, D)
g_1 = OrthogonalLine(B, f_1)
W = Intersect(g_1, f_1)
h_1 = Segment(A, W)
i_1 = Segment(B, W)
Text2: "" + u + " λ"