γ

α

Lot'

Brechzahl n=

Brechender Winkel γ

Einfallswinkel α

Brechungswinkel β

Brechung 23

Geamtablenkung δ

Bereich für Bildpunkt D

Reset

γ: 60°
A = Point({0, 0})
C = Point(yAxis)
B = Point(xAxis)
flaeche, a, c, f, b = Polygon(A, C, (x(B), y(C)), B)
D = (28.167755348318117, 48.758683809737356)
E = If(IsInRegion[D, flaeche], Rotate[A, γ, D])
prisma = If(Defined[E], Polygon[A, D, E])
g = If(Defined[E], Segment[A, D])
F = Point(g)
Lot = OrthogonalLine(F, g)
γ_1 = If(Defined[E], Angle[A, D, E])
d = Circle(F, 10)
G, H = Intersect(d, Lot)
α = 0.8203047484373349 rad (slider from 0 to 1.5533430342749532, step °)
H' = Rotate(H, α, F)
u = Vector(H', F)
h = Ray(F, H')
alpha_1 = Angle(H, F, H')
n: 1.5
beta_1: asin(sin(α) / n)
I = If(Defined[beta_1], Rotate[G, beta_1, F])
i = If(Defined[I], Line[F, I])
j = If(Defined[E], Segment[D, E])
K = If(Defined[j], Intersect[i, j])
l = If(Defined[K], Segment[F, K])
k = If(Defined[K], OrthogonalLine[K, j])
e = If(Defined[K], Circle[K, 10])
J = If(Defined[e], Intersect[e, k])
L = If(Defined[J], Mirror[J, K])
β = Angle(G, F, I)
α_1 = Angle(F, K, J)
beta_2 = If((n * sin(α_1)) ≤ 1, asin((n * sin(α_1))))
M = If(Defined[beta_2], Rotate[L, (-beta_2), K])
v = If(Defined[M], Vector[K, M])
m = If(Defined[M], Ray[K, M])
β_1 = If(Defined[M], Angle[M, K, L])
p = Line(F, H')
q = If(Defined[M], Line[K, M])
N = If(Defined[q], Intersect[q, p])
O = If(Defined[p], Intersect[p, j])
δ = If(Defined[O], Angle[K, N, O])
Eingabefeld1 = Textfield(n)
P = If((n * sin(α_1)) > 1, Mirror[F, k])
r = If(Defined[P], Line[K, P])
s = If(Defined[E], Segment[A, E])
Q = If(Defined[r], Intersect[r, s])
t = If(Defined[Q], Segment[K, Q])
f_1 = If(Defined[Q], OrthogonalLine[Q, s])
R = If(Defined[Q], Intersect[f_1, p])
ε = If(Defined[R], Angle[K, Q, R])
ε_1 = If((n * sin(ε)) < 1, asin((n * sin(ε))))
c_1 = If(Defined[Q], Circle[Q, 10])
S = If(Defined[c_1], Intersect[c_1, f_1])
T = If(Defined[c_1], Intersect[c_1, f_1])
U = If(Defined[S], Rotate[S, (-ε_1), Q])
w = If(Defined[U], Vector[Q, U])
o = false
V = If(Defined[i], Intersect[i, s])
g_1 = If(Defined[V], Segment[F, V])
LotH = If(Defined[V], OrthogonalLine[V, s])
h_1 = If(Defined[V], Circle[V, 10])
W = If(Defined[h_1], Intersect[h_1, LotH])
Z = If(Defined[W], Mirror[W, V])
α_4 = If(Defined[Z], Angle[Z, V, F])
A_1 = If(Defined[h_1], Intersect[h_1, g_1])
B_1 = If((n * sin(α_4)) > 1, Mirror[A_1, LotH])
i_1 = If(Defined[B_1], Line[V, B_1])
C_1 = If(Defined[i_1], Intersect[i_1, j])
j_1 = If(Defined[C_1], Segment[V, C_1])
k_1 = If(Defined[C_1], OrthogonalLine[C_1, j])
p_1 = If(Defined[C_1], Circle[C_1, 10])
D_1 = If(Defined[p_1], Intersect[p_1, k_1])
E_1 = If(Defined[D_1], Mirror[D_1, C_1])
α_5 = If(Defined[D_1], Angle[V, C_1, D_1])
β_5 = If((n * sin(α_5)) < 1, asin((n * sin(α_5))))
F_1 = If(Defined[β_5], Rotate[E_1, (-β_5), C_1])
u_1 = If(Defined[F_1], Vector[C_1, F_1])
l_1 = If(Defined[F_1], Ray[C_1, F_1])
m_1 = If(Defined[U], Ray[Q, U])
q_1 = Circle(F, 20)
G_1, H_1 = Intersect(q_1, Lot)
n_1 = Segment(F, H_1)
r_1 = Segment(F, G_1)
a_1 = true
d_1 = false
s_1 = If(Defined[K], Circle[K, 20])
I_1 = If(Defined[s_1], Intersect[s_1, k])
J_1 = If(Defined[I_1], Mirror[I_1, K])
t_1 = If(Defined[J_1], Segment[I_1, J_1])
b_1 = false
f_2 = If(Defined[O], Segment[F, O])
e_1 = If(Defined[N], Segment[N, K])
o_1 = false
g_2 = If(Defined[V], OrthogonalLine[V, s])
β_4 = If((n * sin(α_4)) < 1, asin((n * sin(α_4))))
K_1 = If(Defined[Z], Mirror[Z, V])
L_1 = If(Defined[β_4], Rotate[K_1, β_4, V])
v_1 = If(Defined[L_1], Vector[V, L_1])
h_2 = If(Defined[L_1], Ray[V, L_1])
w_1 = false