d = 10
n = 1.5
f = Function(((n * d - x)^(2) / n^(2) - (d - x)^(2))^(0.5), 0, 6)
I = Point(f)
a = Tangent(I, f)
b = OrthogonalLine(I, yAxis)
B = Intersect(yAxis, b)
c = OrthogonalLine(I, a)
C = Intersect(yAxis, c)
α = Angle(C, I, B)
r: asin(sin(α) / n)
D = Point(b)
e = Ray(I, D)
E = Point(c)
g = Ray(I, E)
c' = Ray(Rotate[I, r, I], Rotate[E, r, I])
F = Intersect(c', h)
β = Angle(E, I, F)
A: (-3, f(x(I)))
L: Distance[A, I] + n * Distance[I, F]
texte1: "distance AI + n.IF = " + (Distance[A, I]) + " + " + (n * Distance[F, I]) + " = " + L
texte2: "sin(α) = " + (sin(α)) + "
n.sin(β) = " + (n * sin(β)) + "
 " + "
donc sin(α) = n.sin(β) "
G = Point(h)
k = Ellipse(G, F, I)
H = Point(f)
p = Circle(F, H)
J, K = Intersect(p, c')
i = OrthogonalLine(J, c')