Buffon's Needle Experiment by Luis Miguel López Herranz

Buffon's Needle Experiment by Luis Miguel López Herranz
Loading the math board and drawing, please wait…
2015-12-13 19:14
This GeoGebra example implements Buffon's needle experiment, demonstrating geometric probability through random disk or segment throws to approximate π. Core mathematical concepts include probability theory, geometric probability, circle properties, secant and median lines, and vector operations. Construction utilizes GeoGebra commands such as Random, Circle, OrthogonalLine, Intersect, Line, Point, Textfield, Segment, Polygon, PolyLine, and IsInRegion, interacting with numerous points, lines, circles, and polygons for dynamic simulation. Suitable for high school probability units or university-level geometry probability courses, it provides an intuitive visualization of the relationship between geometric probability and π.

GeoGebra Commands & Parameters

  1. Random(0, 1) → f
  2. Circle(D, 1.9 / 2) → g
  3. OrthogonalLine(D, yAxis) → h
  4. OrthogonalLine(D, xAxis) → i
  5. Intersect(g, h, 1) → G
  6. Intersect(g, i, 1) → H
  7. Line(G, i) → j
  8. Line(H, h) → k
  9. Intersect(g, h, 2) → I
  10. Intersect(g, i, 2) → J
  11. Line(I, i) → l
  12. Line(J, k) → m
  13. Intersect(k, l) → K
  14. Intersect(j, k) → L
  15. Intersect(j, m) → M
  16. Intersect(l, m) → N
  17. Intersect(xAxis, yAxis) → E
  18. Point(yAxis) → O
  19. Textfield(i_1) → CasillaDeEntrada1
  20. Segment(P, Q) → t
  21. Segment(Q, E) → a_1
  22. Point(yAxis) → R
  23. Segment(E, R) → b_1
  24. Segment(R, P) → c_1
  25. Point(c_1) → S
  26. Point(a_1) → T
  27. Segment(S, T) → d_1
  28. Point(c_1) → U
  29. Point(a_1) → V
  30. Segment(U, V) → e_1
  31. Point(c_1) → W
  32. Segment(W, F) → f_1
  33. Point(b_1) → Z
  34. Intersect(n, t, 1) → A_1
  35. Intersect(n, t, 1) → B_1
  36. Point(t) → C_1
  37. Segment(Z, C_1) → g_1
  38. Point(t) → D_1
  39. Segment(O, D_1) → h_1
  40. Polygon(F_1, B, C, E_1) → polígono1, f_2, b_2, c_2, e_2
  41. Intersect(b_1, h_1) → G_1
  42. Intersect(f_1, h_1) → H_1
  43. Intersect(a_1, f_1) → I_1
  44. Intersect(a_1, b_1) → J_1
  45. Polygon(G_1, H_1, I_1, J_1) → polígono2, g_2, h_2, i_2, j_1
  46. PolyLine(G_1, H_1, I_1, J_1, G_1) → k_1
  47. Point(k_1) → K_1
  48. Circle(K_1, 1.9 / 2) → p_1
  49. OrthogonalLine(K_1, f_1) → l_1
  50. Intersect(p_1, l_1, 2) → L_1
  51. Intersect(p_1, l_1, 1) → M_1
  52. OrthogonalLine(K_1, l_1) → m_1
  53. Intersect(p_1, m_1, 2) → N_1
  54. Intersect(p_1, m_1, 1) → O_1
  55. OrthogonalLine(N_1, m_1) → q_1
  56. OrthogonalLine(L_1, q_1) → r_1
  57. OrthogonalLine(O_1, r_1) → s_1
  58. OrthogonalLine(M_1, s_1) → t_1
  59. Intersect(s_1, t_1) → P_1
  60. Intersect(r_1, s_1) → Q_1
  61. Intersect(q_1, r_1) → R_1
  62. Intersect(q_1, t_1) → S_1
  63. Textfield(n_1) → CasillaDeEntrada2
  64. Textfield(n) → CasillaDeEntrada3
  65. IsInRegion(D, a(x, y) ∨ c(x, y) ∨ d(x, y) ∨ e(x, y) ∨ o(x, y) ∨ q(x, y) ∨ p(x, y) ∨ r(x, y) ∨ s(x, y) ∨ o_1(x, y) ∨ u_1(x, y) ∨ v_1(x, y)) → b