Refraction on Parallel Surfaces - 3 Mediums

Refraction on Parallel Surfaces - 3 Mediums
Loading the math board and drawing, please wait…
2016-09-15 10:55
This GeoGebra example demonstrates the refraction of light across three parallel interfaces between different media, visually tracing the path of a ray as it bends according to Snell's law at each boundary. The core mathematical concepts include the law of refraction, angle relationships, properties of parallel lines, and geometric optics ray tracing. The construction utilizes GeoGebra commands such as Segment, Point, Intersect, Line, OrthogonalLine, Angle, If, Rotate, Polygon, Vector, Circle, AngularBisector, Mirror, Textfield, Ray, Distance, and Midpoint to build the layered media, normals, incident and refracted rays, and angle labels. Interactive sliders or text fields allow users to adjust refractive indices and the incident angle, enabling dynamic exploration of how the refracted angle changes across media. This resource is suitable for high school physics or introductory university optics courses, as well as for interdisciplinary lessons connecting geometry and physics. It helps students visualize the continuous application of Snell's law and understand the behavior of light through parallel-sided transparent layers.

GeoGebra Commands & Parameters

  1. Segment(A, B) → f
  2. Point(f) → C
  3. Intersect(xAxis, yAxis) → D
  4. Point(yAxis) → E
  5. Point(yAxis) → F
  6. Line(E, F) → g
  7. OrthogonalLine(D, g) → h
  8. Intersect(h, f) → G
  9. Angle(C, D, G) → α
  10. Angle(G, D, C) → β
  11. If(α > 90°, β, α) → γ
  12. Point(h) → K
  13. Rotate(K, (-a), D) → K'_1
  14. Line(D, K'_1) → h_1
  15. Angle(K'_1, D, K) → θ
  16. Polygon(R, S, T, U) → poly2, r, s, t_1, u_1
  17. Intersect(h_1, t_1) → W
  18. Rotate(K, a, D) → K'
  19. Line(D, K') → g_1
  20. Intersect(g_1, t_1) → V
  21. Vector(C, D) → u
  22. Circle(D, 1.2) → c
  23. AngularBisector(C, D, G) → i
  24. Intersect(c, i, 2) → H
  25. Mirror(C, h) → C'
  26. Vector(D, C') → v
  27. AngularBisector(C', D, G) → j
  28. Intersect(c, j, 2) → I
  29. Angle(C', D, G) → δ
  30. Angle(G, D, C') → ε
  31. If(δ > 90°, ε, δ) → ζ
  32. Circle(D, 1.8) → d
  33. Intersect(d, j, 2) → J
  34. Angle(K, D, K') → η
  35. AngularBisector(K'_1, D, K) → k
  36. AngularBisector(K, D, K') → l
  37. Intersect(c, k, 2) → L
  38. Intersect(c, l, 2) → M
  39. Vector(D, K'_1) → w
  40. Vector(D, K') → b
  41. Polygon(N, O, P, Q) → poly1, n, o, p, q
  42. Textfield(n_1) → InputBox1
  43. Textfield(n_2) → InputBox2
  44. Line(C, D) → m
  45. OrthogonalLine(C, m) → f_1
  46. Circle(C, 0.6) → e
  47. Intersect(e, f_1, 2) → Z
  48. Intersect(e, f_1, 1) → A_1
  49. Vector(D, V) → v_1
  50. Vector(D, W) → w_1
  51. Rotate(B_1, (-e_2), W) → C_1
  52. Angle(C_1, W, B_1) → ν
  53. Point(h) → D_1
  54. Point(h) → E_1
  55. Segment(D_1, E_1) → i_1
  56. Vector(W, C_1) → a_1
  57. Rotate(G_1, γ, V) → F_1
  58. Angle(G_1, V, F_1) → ξ
  59. Vector(V, F_1) → b_1
  60. Ray(C, D) → j_1
  61. Segment(H_1, I_1) → k_1
  62. Segment(J_1, K_1) → l_1
  63. AngularBisector(F_1, V, G_1) → m_1
  64. AngularBisector(B_1, W, C_1) → p_1
  65. Circle(W, 1) → c_1
  66. Circle(V, 1) → d_1
  67. Intersect(d_1, m_1, 2) → L_1
  68. Intersect(c_1, p_1, 2) → M_1
  69. Angle(D, W, J_1) → ο
  70. Angle(H_1, V, D) → ρ
  71. AngularBisector(J_1, W, D) → q_1
  72. AngularBisector(D, V, H_1) → r_1
  73. Intersect(d_1, r_1, 2) → N_1
  74. Intersect(c_1, q_1, 2) → O_1
  75. Intersect(t_1, j_1) → P_1
  76. OrthogonalLine(P_1, j_1) → s_1
  77. Line(W, C_1) → e_1
  78. Intersect(s_1, e_1) → Q_1
  79. Distance(P_1, Q_1) → distanceP1Q1
  80. Textfield(t) → InputBox3
  81. Midpoint(P_1, Q_1) → R_1
  82. Vector(P_1, Q_1) → u_2
  83. Vector(Q_1, P_1) → v_2
  84. Line(F_1, V) → f_2
  85. Intersect(f_2, s_1) → S_1
  86. Midpoint(P_1, S_1) → T_1
  87. Vector(S_1, P_1) → w_2
  88. Vector(P_1, S_1) → a_2
  89. Distance(P_1, S_1) → o_1
  90. Distance(P_1, S_1) → b_2
  91. Point(r) → U_1
  92. Point(t_1) → V_1
  93. Vector(U_1, V_1) → c_2
  94. Vector(V_1, U_1) → d_2
  95. Polygon(W_1, Z_1, A_2, B_2) → poly3, w_3, z_1, a_3, b_3
  96. Line(J_1, K_1) → g_2
  97. Mirror(D, g_2) → D'
  98. Vector(W, D') → h_2
  99. Segment(C_2, D_2) → i_2
  100. Rotate(C_2, ζ, D') → F_2
  101. Angle(C_2, D', F_2) → σ
  102. Ray(D', F_2) → k_2
  103. Point(k_2) → G_2
  104. Vector(H_2, I_2) → l_2
  105. AngularBisector(C_2, D', F_2) → m_2
  106. Circle(D', 2) → p_2
  107. Intersect(p_2, m_2, 2) → J_2
  108. Angle(J_1, W, D') → τ
  109. AngularBisector(J_1, W, D') → q_2
  110. Intersect(c_1, q_2, 2) → K_2
  111. Textfield(n_3) → InputBox4
  112. Angle(D_2, D', W) → ϕ
  113. AngularBisector(W, D', D_2) → r_2
  114. Intersect(p_2, r_2, 2) → L_2
  115. Line(B, A) → s_2
  116. Intersect(s_2, k_2) → N_2
  117. Vector(D', N_2) → j_2