Two Mirrors Reflection

Two Mirrors Reflection
Loading the math board and drawing, please wait…
2014-06-23 23:23
In collections Light
This example demonstrates the path of a single light ray reflecting multiple times between two mirrors, adhering to the law of reflection. Key math concepts include angle calculations, vector operations, and sequence generation. GeoGebra commands used are Circle, Vector, Point, UnitOrthogonalVector, UnitVector, Angle, Segment, If, Reflection2b, IndexOf, Ray, Sequence. Suitable for high school physics and mathematics education on optics and geometric sequences.

GeoGebra Commands & Parameters

  1. Circle(B, 1) → q
  2. Vector(A, B) → g
  3. Point(q) → G
  4. Vector(B, G) → nrm2
  5. UnitOrthogonalVector(nrm2) → m2
  6. Circle(A, 1) → r_1
  7. Vector(X0, A) → f
  8. UnitVector(Vector[UnitVector[g] - UnitVector[f]]) → u
  9. Point(r_1) → F
  10. Vector(A, F) → nrm1
  11. UnitOrthogonalVector(nrm1) → m1
  12. Circle(X0, 1) → d_1
  13. Point(d_1) → T
  14. UnitVector(xAxis) → X
  15. UnitVector(yAxis) → Y
  16. UnitOrthogonalVector(u) → w
  17. Angle(nrm1, m1) → β
  18. Vector(X0, T) → r0
  19. Angle(nrm2, m2) → α
  20. Segment(A - m1, A + m1) → mirror1
  21. whichMirror2(X0, T, P1, Q1, P2, Q2) → t1
  22. Segment(B - m2, B + m2) → mirror2
  23. If(t1 ≟ 2, B, A) → Z1
  24. If(t1 ≟ 2, m2, m1) → x1
  25. If(t1 ≟ 2, A, B) → Z2
  26. If(t1 ≟ 2, m1, m2) → x2
  27. If(t1 ≟ 2, nrm2, nrm1) → n1
  28. If(t1 ≟ 2, nrm1, nrm2) → n2
  29. Reflection2b(X0, T, Z1 + x1, Z1 - x1, n1, true) → r1, X1, beam1
  30. Reflection2b(X1, X1 + r1, Z2 + x2, Z2 - x2, n2, true) → r2, X2, beam2
  31. Reflection2b(X2, X2 + r2, Z1 + x1, Z1 - x1, n1, true) → r3, X3, beam3
  32. Reflection2b(X3, X3 + r3, Z2 + x2, Z2 - x2, n2, true) → r4, X4, beam4
  33. Reflection2b(X4, X4 + r4, Z1 + x1, Z1 - x1, n1, true) → r5, X5, beam5
  34. Reflection2b(X5, X5 + r5, Z2 + x2, Z2 - x2, n2, true) → r6, X6, beam6
  35. Reflection2b(X6, X6 + r6, Z1 + x1, Z1 - x1, n1, true) → r7, X7, beam7
  36. Reflection2b(X7, X7 + r7, Z2 + x2, Z2 - x2, n2, true) → r8, X8, beam8
  37. Reflection2b(X8, X8 + r8, Z1 + x1, Z1 - x1, n1, true) → r9, X9, beam9
  38. Reflection2b(X9, X9 + r9, Z2 + x2, Z2 - x2, n2, true) → r10, X10, beam10
  39. Reflection2b(X10, X10 + r10, Z1 + x1, Z1 - x1, n1, true) → r11, X11, beam11
  40. Reflection2b(X11, X11 + r11, Z2 + x2, Z2 - x2, n2, true) → r12, X12, beam12
  41. Reflection2b(X12, X12 + r12, Z1 + x1, Z1 - x1, n1, true) → r13, X13, beam13
  42. Reflection2b(X13, X13 + r13, Z2 + x2, Z2 - x2, n2, true) → r14, X14, beam14
  43. Reflection2b(X14, X14 + r14, Z1 + x1, Z1 - x1, n1, true) → r15, X15, beam15
  44. Reflection2b(X15, X15 + r15, Z2 + x2, Z2 - x2, n2, true) → r16, X16, beam16
  45. Reflection2b(X16, X16 + r16, Z1 + x1, Z1 - x1, n1, true) → r17, X17, beam17
  46. IndexOf(0, Zip[abs(k), k, list1]) → d
  47. If(Defined[d], d, 18) → i
  48. whichMirror2(X17, X17 + r17, P1, Q1, P2, Q2) → k
  49. Ray(Object["X" + (i - 1)], Vector[Object["r" + (i - 1)]]) → a
  50. Sequence(4 - round(k / 5), k, 0, 17) → list3

AI Drawing Prompt Reference

Draw the path of a single light ray reflecting multiple times between two parallel mirrors. Start by drawing two circles to represent the mirrors, then draw the initial direction and incidence point of the light ray. Next, calculate the direction and path of the reflected ray after each reflection according to the law of reflection, until the ray path is no longer visible.
The prompt above was compiled from the original drawing commands and is for reference only.