Primera refracción

Segunda refracción

Snell - Descartes

P

E

n21 =

F = Intersect(xAxis, yAxis)
ControlCircunferencia = Point(Ray[F, Vector[(1, 0)]])
c = Circle(F, ControlCircunferencia)
A = Intersect(c, yAxis, 2)
A' = Rotate(A, 45°, F)
c_1 = CircleArc(F, A, A')
d: c_1
B = Point(d)
G = Intersect(c, yAxis, 1)
C = Mirror(A, Line[B, F])
s = OrthogonalLine(B, yAxis)
L: (0, (2 * x(ControlCircunferencia)))
i = Line(L, xAxis)
j = Line(B, yAxis)
k_1 = Line(C, yAxis)
N = Intersect(i, k_1)
M = Intersect(i, j)
k = 0.69 (slider from 0 to 1, step 0.01)
f = Segment(C, N)
g = Segment(B, M)
l = Line(F, B)
m = Line(F, C)
e = Circle(F, (3 / 2 * x(ControlCircunferencia)))
C' = Intersect(e, m, 2)
B' = Intersect(e, l, 2)
n = Segment(C', F)
p = Segment(B', F)
aB = Angle(M, B, B')
aB': (k * aB)
F' = Rotate(F, 360° - aB', B)
q = Line(B, F')
aC = Angle(N, C, C')
aC': (k * aC)
F'_1 = Rotate(F, 360° - aC', C)
r = Line(C, F'_1)
E = Intersect(yAxis, q)
P = Intersect(r, yAxis)
t = Segment(B, E)
a = Segment(C, P)
b = Min({y(G), y(P), y(E)})
h = Segment(L, (0, b))
D = Intersect(c, t, 2)
H = Intersect(c, a, 2)
F'_2 = Rotate(F, 180° + aB, D)
f_1 = Line(D, F'_2)
F'_4 = Rotate(F, 180° + aC, H)
g_1 = Line(H, F'_4)
P' = Intersect(g_1, yAxis)
E' = Intersect(f_1, yAxis)
h_1 = Segment(D, E')
i_1 = Segment(H, P')
j_1 = Segment(C, E)
l_1 = Segment(C, H)
m_1 = Segment(H, P)
n_1 = Segment(E, D)
p_1 = Segment(D, B)
o = false
u = false
v = false
n21 = 1.58 (slider from 1 to 3, step 0.01)
RaB: asind((1 / n21 * sin(aB)))
RaC: asind((1 / n21 * sin(aC)))
F'_3 = Rotate(F, 360° - RaB, B)
q_1 = Line(B, F'_3)
F'_5 = Rotate(F, 360° - RaC, C)
r_1 = Line(C, F'_5)
I = Intersect(c, r_1, 2)
J = Intersect(c, q_1, 2)
s_1 = Segment(C, I)
t_1 = Segment(J, B)
F'_6 = Rotate(F, 180° + aB, J)
F'_7 = Rotate(F, 180° + aC, I)
f_2 = Line(J, F'_6)
g_2 = Line(I, F'_7)
P_2 = Intersect(g_2, Ray[G, Vector[(0, -1)]])
O = Intersect(f_2, Ray[G, Vector[(0, -1)]])
a_1 = Segment(J, O)
b_1 = Segment(I, P_2)
d_1 = Segment(J, F'_6)
e_1 = Segment(I, F'_7)
h_2 = Segment(L, (0, (-2 * x(ControlCircunferencia))))
i_2 = Segment(L, O)
j_2 = Segment(L, G)
k_2 = Ray(M, B)
l_2 = Ray(N, C)
CasillaDeEntrada1 = Textfield(n21)