Farbaufspaltung im Regentropfen
Author: Günter vom Stein

Sonnenstand

rot: 42.3°
blau: 40.7°

Gesamtablenkung zeigen

Farbaufspaltung im Regentropfen:

Lichtstrahlen zu verschiedenen Farben 
werden beim Eintritt und beim Austritt 
aus dem Regentropfen unterschiedlich 
stark gebrochen.

P = (-1.3894417639128358, 1.3143401171006868)
m = -0.326 (slider from -0.4 to -0.2, step 0.0010)
O = (0, 0)
g(x) = m * (x - x(P)) + y(P)
c = Circle(O, 1)
A = Intersect(g, c, 1)
a = Ray(A, P)
b = Ray(O, A)
α = Angle(b, a)
n_0 = 1.328
O' = Rotate(O, (asin(sin(α) / n_0) * 180 / π)°, A)
d = Ray(A, O')
B = Intersect(c, d, 1)
n(x) = 1.3175 + 7.382 / (x - 112.78)
s: n(800)
t: n(400)
n_1 = 1.34 (slider from n_0 to 1.4, step 0.0010)
O'_2 = Rotate(O, (asin(sin(α) / n_1) * 180 / π)°, A)
a_1 = Ray(A, O'_2)
G = Intersect(c, a_1, 2)
b_1 = Segment(O, G)
H = Mirror(O'_2, b_1)
c_1 = Ray(G, H)
I = Intersect(c, c_1, 2)
d_1 = Segment(O, I)
ε = Angle(H, I, O)
O'_3 = Rotate(O, (-(asin(sin(ε) * n_1) * 180 / π))°, I)
e_1 = Ray(O'_3, I)
J = Point(e_1)
f_1 = Segment(A, G)
g_1 = Segment(G, I)
h_1 = Ray(I, J)
q = Line(P, A)
k_1 = Line(J, I)
L = Intersect(q, k_1)
ζ = Angle(A, L, I)
l_1 = Segment(I, L)
o = false
e = Segment(A, L)
f = Ray(A, O')
h = Line(A, O')
C, D = Intersect(c, h)
i = Segment(O, C)
O'' = Mirror(O', i)
j = Line(O'', C)
E, F = Intersect(c, j)
β = Angle(O'', F, O)
O'_1 = Rotate(O, (-(asin(sin(β) * n_0) * 180 / π))°, F)
l = Segment(A, C)
p = Segment(C, F)
k = Line(F, O'_1)
K = Point(k)
M = Intersect(q, k)
r = Segment(F, M)
i_1 = Ray(F, K)
γ = Angle(A, M, F)