Buffon's Needle Experiment by Luis Miguel López Herranz
Loading the math board and drawing, please wait…
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
Random(0, 1) → fCircle(D, 1.9 / 2) → gOrthogonalLine(D, yAxis) → hOrthogonalLine(D, xAxis) → iIntersect(g, h, 1) → GIntersect(g, i, 1) → HLine(G, i) → jLine(H, h) → kIntersect(g, h, 2) → IIntersect(g, i, 2) → JLine(I, i) → lLine(J, k) → mIntersect(k, l) → KIntersect(j, k) → LIntersect(j, m) → MIntersect(l, m) → NIntersect(xAxis, yAxis) → EPoint(yAxis) → OTextfield(i_1) → CasillaDeEntrada1Segment(P, Q) → tSegment(Q, E) → a_1Point(yAxis) → RSegment(E, R) → b_1Segment(R, P) → c_1Point(c_1) → SPoint(a_1) → TSegment(S, T) → d_1Point(c_1) → UPoint(a_1) → VSegment(U, V) → e_1Point(c_1) → WSegment(W, F) → f_1Point(b_1) → ZIntersect(n, t, 1) → A_1Intersect(n, t, 1) → B_1Point(t) → C_1Segment(Z, C_1) → g_1Point(t) → D_1Segment(O, D_1) → h_1Polygon(F_1, B, C, E_1) → polígono1, f_2, b_2, c_2, e_2Intersect(b_1, h_1) → G_1Intersect(f_1, h_1) → H_1Intersect(a_1, f_1) → I_1Intersect(a_1, b_1) → J_1Polygon(G_1, H_1, I_1, J_1) → polígono2, g_2, h_2, i_2, j_1PolyLine(G_1, H_1, I_1, J_1, G_1) → k_1Point(k_1) → K_1Circle(K_1, 1.9 / 2) → p_1OrthogonalLine(K_1, f_1) → l_1Intersect(p_1, l_1, 2) → L_1Intersect(p_1, l_1, 1) → M_1OrthogonalLine(K_1, l_1) → m_1Intersect(p_1, m_1, 2) → N_1Intersect(p_1, m_1, 1) → O_1OrthogonalLine(N_1, m_1) → q_1OrthogonalLine(L_1, q_1) → r_1OrthogonalLine(O_1, r_1) → s_1OrthogonalLine(M_1, s_1) → t_1Intersect(s_1, t_1) → P_1Intersect(r_1, s_1) → Q_1Intersect(q_1, r_1) → R_1Intersect(q_1, t_1) → S_1Textfield(n_1) → CasillaDeEntrada2Textfield(n) → CasillaDeEntrada3IsInRegion(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