raggio incidente

indice di rifrazione

raggio emergente

Percorso di un raggio di luce
e sue rifrazioni e riflessioni

trascinare il punto P

O = Intersect(xAxis, yAxis)
B = Point(xAxis)
c = Circle(O, B)
P = Point(c)
a = Line(O, B)
b = Line(P, a)
D = Point(b)
d = Ray(P, D)
e = Ray(O, P)
C'_1 = Mirror(P, e)
D' = Mirror(D, e)
d' = Ray(C'_1, D')
f = OrthogonalLine(O, a)
E = Intersect(b, f)
F = Point(e)
α = Angle(D, P, F)
n = 1.33 (slider from 1 to 2, step 0.01)
A' = Rotate(O, -1.0 * asin(sin(α) / n), P)
β = Angle(A', P, O)
g = Ray(P, A')
Q = Intersect(c, g, 2.0)
h = Ray(O, Q)
i = Segment(P, Q)
R = Mirror(P, h)
G' = Mirror(Q, h)
i' = Segment(R, G')
j = Ray(O, R)
H = Point(j)
H' = Rotate(H, α, R)
γ = Angle(H, R, H')
k = Ray(R, H')
I = Point(h)
I' = Rotate(I, α, G')
δ = Angle(I, G', I')
l = Ray(G', I')
ε = Angle(O, G', P)
ζ = Angle(O, R, G')
η = Angle(R, G', O)
θ = Angle(F, P, D')
J = Point(k)
m = Line(J, R)
T = Intersect(b, m)
ι = Angle(R, T, E)
R' = Mirror(R, j)
G'' = Mirror(G', j)
i'' = Segment(R', G'')
A = Intersect(c, i'', 2.0)
p = Ray(O, A)
C = Point(p)
C' = Rotate(C, α, A)
κ = Angle(C, A, C')
q = Ray(A, C')
λ = Angle(A, R, O)