A = (0.9, 1.68)
Nair = 1 (slider from -5 to 5, step 0.1)
Nrouge = 1.5
Nbleu = 1.6 (slider from -5 to 5, step 0.1)
Nvert = 1.55
R = 2
c = Circle(A, R)
B = Point(c)
a = Line(B, A)
α = 1.57 (slider from 0 to 1.57, step 0.03216)
B' = Rotate(B, -α, A)
d = Circle(B', Nair)
b = Line(B', a)
C, D = Intersect(d, b)
e = Tangent(B', c)
f = OrthogonalLine(D, e)
g = Circle(B', Nrouge)
E, F = Intersect(g, f)
h = Ray(B', E)
G = Point(b)
i = Ray(B', G)
H = Intersect(c, h, 2)
j = Segment(B', H)
k = Segment(A, H)
B'' = Mirror(B', k)
H' = Mirror(H, k)
j' = Segment(B'', H')
p = Circle(B'', Nrouge)
l = Tangent(B'', c)
q = Circle(B'', Nair)
I = Intersect(c, j', 2)
m = Ray(I, B'')
J = Intersect(p, m, 2)
n = OrthogonalLine(J, l)
K, L = Intersect(q, n)
r = Ray(B'', L)
s = Circle(B', Nvert)
M = Intersect(d, b, 2)
t = OrthogonalLine(M, e)
N, O = Intersect(s, t)
a_1 = Ray(B', N)
b_1 = Line(B', N)
P, Q = Intersect(c, b_1)
d_1 = Segment(A, Q)
P' = Mirror(P, d_1)
Q' = Mirror(Q, d_1)
f_1 = Circle(P', Nair)
g_1 = Circle(P', Nvert)
h_1 = Line(Q', P')
S = Intersect(g_1, h_1, 2)
i_1 = Tangent(P', c)
j_1 = OrthogonalLine(S, i_1)
T = Intersect(f_1, j_1, 2)