E - K - N

F

         Datos Witelo
Incidencia    Refracción
      10°                7,75°
      20°                15,5°
      30°                22,5°
      40°                29°
      50°                35°
      60°                40,5° 
      70°                45,5°

Datos Witelo

Datos Snell-Descartes

n21 =

F

in: 10°
ref: 7.75°
I = Point(Ray[(0, 0), Vector[(0, 1)]])
C = Point(Ray[(0, 0), Vector[(0, -1)]])
a = If(y(C) > -3, -4, y(C) - 1)
I' = Rotate(I, 80°, C)
I'' = Mirror(I', yAxis)
f = Line(C, I'')
C' = Rotate(C, 50°, I)
g = Line(I, C')
D = Intersect(f, g)
h = AngularBisector(I, D, C)
E = Intersect(h, yAxis)
i = OrthogonalLine(D, yAxis)
K = Intersect(i, yAxis)
c = Parabolatangenteaunarectaenunpunto(yAxis, E, D)
B = Intersect(c, yAxis)
Tamaño: (0, a)
j = Line(Tamaño, xAxis)
l = Segment(Tamaño, I)
p = Segment(K, D)
q = Segment(C, D)
F_1, M_1 = Intersect(c, j)
b = false
r = Line(C, xAxis)
H, Z = Intersect(c, r)
s = Segment(C, Z)
L = Point(s)
t = OrthogonalLine(L, xAxis)
O = Intersect(c, t)
lugar1 = Locus(O, L)
F = Point(lugar1)
d = Segment(C, F)
e = Segment(I, F)
α = Angle(F, C, I)
β = Angle(C, I, F)
texto1: "α = " + α + "
β = " + β + ""
o = false
C'_1 = Rotate(C, ref, I)
f_1 = Line(I, C'_1)
I'_1 = Rotate(I, in, C)
P = Mirror(I'_1, yAxis)
g_1 = Line(C, P)
Q = Intersect(g_1, f_1)
R = DatosWitelo(yAxis, I, C, 20°, 15.5°)
S = DatosWitelo(yAxis, I, C, 30°, 22.5°)
T = DatosWitelo(yAxis, I, C, 40°, 29°)
U = DatosWitelo(yAxis, I, C, 50°, 35°)
V = DatosWitelo(yAxis, I, C, 60°, 40.5°)
W = DatosWitelo(yAxis, I, C, 70°, 45.5°)
u = false
v = false
r_2 = If(Distance[C, B] > 2, 1, Distance[C, B] / 2)
c_1 = Circle(C, r_2)
Z_1, A_1 = Intersect(c_1, yAxis)
B_1, C_1 = Intersect(c_1, r)
d_1 = CircleArc(C, C_1, A_1)
D_1 = Point(d_1)
Incidencia = Angle(D_1, C, A_1)
n21: 1.33
Refracción: asind((1 / n21 * sin(Incidencia)))
F' = DatosWitelo(yAxis, I, C, Incidencia, Refracción)
lugar2 = Locus(F', D_1)
h_1 = Segment(C, F')
i_1 = Segment(F', I)
CasillaDeEntrada1 = Textfield(n21)
G_1 = Intersect(c, h_1)
A: (0, a + 0.5)
j_1 = Segment(I, A)
k_1 = Segment(F_1, M_1)
E_1 = Point(k_1)
l_1 = OrthogonalLine(E_1, xAxis)
H_1 = Intersect(c, l_1)
lugar3 = Locus(H_1, E_1)
k = Line(A, xAxis)
G = Intersect(g, k)
m = Segment(I, G)
n = OrthogonalLine(G, xAxis)
N = Intersect(h, n)
m_1 = Segment(E, N)
I_1, M = Intersect(c, k)
n_1 = Segment(I_1, M)

Tool: Parabola tangente a una recta en un punto (command Parabolatangenteaunarectaenunpunto)
Parabolatangenteaunarectaenunpunto[ <Recta>, <Punto>, <Punto> ]
Input: yAxis, A, B
Output: c

f = Line(A, B)
g = OrthogonalLine(B, yAxis)
C = Intersect(g, yAxis)
D = Midpoint(C, B)
h = Line(D, yAxis)
i = Line(B, yAxis)
E = Intersect(f, h)
j = OrthogonalLine(E, f)
F = Intersect(j, yAxis)
G = Intersect(i, j)
k = OrthogonalLine(G, yAxis)
c = Parabola(F, k)

Tool: Datos Witelo (command DatosWitelo)
DatosWitelo[ <EjeY>, <I>, <C>, <Incidencia>, <Refracción> ]
Input: yAxis, I, C, incidencia, refracción
Output: Q

incidencia: 10°
refracción: 7.75°
C'_1 = Rotate(C, refracción, I)
f_1 = Line(I, C'_1)
I'_1 = Rotate(I, incidencia, C)
P = Mirror(I'_1, yAxis)
g_1 = Line(C, P)
Q = Intersect(g_1, f_1)