Interactive Galton Board

Interactive Galton Board
Loading the math board and drawing, please wait…
2014-01-07 03:01
This example demonstrates an interactive Galton board model, visually showing the distribution pattern of falling balls. Core mathematical concepts include binomial distribution, combinatorics, conditional probability, arithmetic operations, and logical reasoning. Construction highlights involve GeoGebra commands such as If, Element, RemoveUndefined, Point, Sequence, Take, PolyLine, Segment, Vector, BinomialDist, BarChart, Textfield, Polygon, Sum, TableText, and LaTeX for dynamic visualization. Suitable for high school and above students studying probability statistics, discrete mathematics, and data visualization, or for educational demonstrations.

GeoGebra Commands & Parameters

  1. If(J32 ≟ 0, -1, 1) → K32
  2. If(J31 ≟ 0, -1, 1) → K31
  3. If(J30 ≟ 0, -1, 1) → K30
  4. If(J29 ≟ 0, -1, 1) → K29
  5. If(J28 ≟ 0, -1, 1) → K28
  6. If(J27 ≟ 0, -1, 1) → K27
  7. If(J26 ≟ 0, -1, 1) → K26
  8. If(J25 ≟ 0, -1, 1) → K25
  9. If(J24 ≟ 0, -1, 1) → K24
  10. If(J23 ≟ 0, -1, 1) → K23
  11. If(J22 ≟ 0, -1, 1) → K22
  12. If(J3 ≟ 0, -1, 1) → K3
  13. If(J4 ≟ 0, -1, 1) → K4
  14. If(J5 ≟ 0, -1, 1) → K5
  15. If(J6 ≟ 0, -1, 1) → K6
  16. If(J7 ≟ 0, -1, 1) → K7
  17. If(J8 ≟ 0, -1, 1) → K8
  18. If(J9 ≟ 0, -1, 1) → K9
  19. If(J10 ≟ 0, -1, 1) → K10
  20. If(J11 ≟ 0, -1, 1) → K11
  21. If(J12 ≟ 0, -1, 1) → K12
  22. If(J13 ≟ 0, -1, 1) → K13
  23. If(J14 ≟ 0, -1, 1) → K14
  24. If(J15 ≟ 0, -1, 1) → K15
  25. If(J16 ≟ 0, -1, 1) → K16
  26. If(J17 ≟ 0, -1, 1) → K17
  27. If(J18 ≟ 0, -1, 1) → K18
  28. If(J19 ≟ 0, -1, 1) → K19
  29. If(J20 ≟ 0, -1, 1) → K20
  30. If(J21 ≟ 0, -1, 1) → K21
  31. Element(contador1, R33) → S33
  32. Element(contador1, R32) → S32
  33. Element(contador1, R31) → S31
  34. Element(contador1, R30) → S30
  35. Element(contador1, R29) → S29
  36. Element(contador1, R28) → S28
  37. Element(contador1, R27) → S27
  38. Element(contador1, R26) → S26
  39. Element(contador1, R25) → S25
  40. Element(contador1, R24) → S24
  41. Element(contador1, R23) → S23
  42. Element(contador1, R22) → S22
  43. Element(contador1, R21) → S21
  44. Element(contador1, R20) → S20
  45. Element(contador1, R19) → S19
  46. Element(contador1, R18) → S18
  47. Element(contador1, R17) → S17
  48. Element(contador1, R16) → S16
  49. Element(contador1, R15) → S15
  50. Element(contador1, R14) → S14
  51. Element(contador1, R13) → S13
  52. Element(contador1, R12) → S12
  53. Element(contador1, R11) → S11
  54. Element(contador1, R10) → S10
  55. Element(contador1, R9) → S9
  56. Element(contador1, R8) → S8
  57. Element(contador1, R7) → S7
  58. Element(contador1, R6) → S6
  59. Element(contador1, R5) → S5
  60. Element(contador1, R4) → S4
  61. Element(contador1, R3) → S3
  62. Element(contador1, R2) → S2
  63. RemoveUndefined(S2:S33) → Ergebnisliste
  64. Point(yAxis) → A
  65. Sequence(Sequence[(i, (j * h)), i, ((-0.5) * j), 0 + (0.5 * j)], j, 0, len) → Scheitelpunkte
  66. Sequence(Sequence[Polygon[(i, (j * h) + (0.2 * h)), (i - 0.5 + 0.2, ((j + 1) * h) - (0.2 * h)), (i + 0.5 - 0.2, ((j + 1) * h) - (0.2 * h))], i, ((-0.5) * j), 0 + (0.5 * j)], j, 0, len - 1) → Galtonbrett
  67. Take(N1:N32, 1, len + 2) → Weg
  68. PolyLine(Weg) → a
  69. If(e, skal / 2, Max[Ergebnisliste] + 1) → höhe
  70. Segment((((-len) - 1) / 2, y(B)), ((len + 1) / 2, y(B))) → c
  71. Element(Last[Take[N1:N32, 1, len + 2]], 1) → D
  72. Vector(D, (x(D), y(B))) → u
  73. Sequence(len + 1) → Liste2
  74. If(J33 ≟ 0, -1, 1) → K33
  75. BinomialDist(len, p, I5, false) → P5
  76. BinomialDist(len, p, I4, false) → P4
  77. BinomialDist(len, p, I2, false) → P2
  78. BinomialDist(len, p, I3, false) → P3
  79. BinomialDist(len, p, I6, false) → P6
  80. BinomialDist(len, p, I7, false) → P7
  81. BinomialDist(len, p, I8, false) → P8
  82. BinomialDist(len, p, I9, false) → P9
  83. BinomialDist(len, p, I10, false) → P10
  84. BinomialDist(len, p, I11, false) → P11
  85. BinomialDist(len, p, I12, false) → P12
  86. BinomialDist(len, p, I13, false) → P13
  87. BinomialDist(len, p, I14, false) → P14
  88. BinomialDist(len, p, I15, false) → P15
  89. BinomialDist(len, p, I16, false) → P16
  90. BinomialDist(len, p, I17, false) → P17
  91. BinomialDist(len, p, I18, false) → P18
  92. BinomialDist(len, p, I19, false) → P19
  93. BinomialDist(len, p, I20, false) → P20
  94. BinomialDist(len, p, I21, false) → P21
  95. BinomialDist(len, p, I22, false) → P22
  96. BinomialDist(len, p, I23, false) → P23
  97. BinomialDist(len, p, I24, false) → P24
  98. BinomialDist(len, p, I25, false) → P25
  99. BinomialDist(len, p, I26, false) → P26
  100. BinomialDist(len, p, I27, false) → P27
  101. BinomialDist(len, p, I28, false) → P28
  102. BinomialDist(len, p, I29, false) → P29
  103. BinomialDist(len, p, I30, false) → P30
  104. BinomialDist(len, p, I31, false) → P31
  105. BinomialDist(len, p, I32, false) → P32
  106. BinomialDist(len, p, I33, false) → P33
  107. BarChart(O2:O32, P2:P32) → d
  108. Sequence(0, k, 1, len + 1) → contador
  109. Sequence(Segment[(i - 0.5, y(B)), (i - 0.5, y(B) + höhe)], i, ((-len)) / 2, len / 2 + 1) → Liste1
  110. Textfield(len) → Textfeld1
  111. Polygon(T2, U2, U2 + (0, S2), T2 + (0, S2)) → V2, Y2, Z2, AA2, AB2
  112. Polygon(T3, U3, U3 + (0, S3), T3 + (0, S3)) → V3, Y3, Z3, AA3, AB3
  113. Polygon(T4, U4, U4 + (0, S4), T4 + (0, S4)) → V4, Y4, Z4, AA4, AB4
  114. Polygon(T5, U5, U5 + (0, S5), T5 + (0, S5)) → V5, Y5, Z5, AA5, AB5
  115. Polygon(T6, U6, U6 + (0, S6), T6 + (0, S6)) → V6, Y6, Z6, AA6, AB6
  116. Polygon(T7, U7, U7 + (0, S7), T7 + (0, S7)) → V7, Y7, Z7, AA7, AB7
  117. Polygon(T8, U8, U8 + (0, S8), T8 + (0, S8)) → V8, Y8, Z8, AA8, AB8
  118. Polygon(T9, U9, U9 + (0, S9), T9 + (0, S9)) → V9, Y9, Z9, AA9, AB9
  119. Polygon(T10, U10, U10 + (0, S10), T10 + (0, S10)) → V10, Y10, Z10, AA10, AB10
  120. Polygon(T11, U11, U11 + (0, S11), T11 + (0, S11)) → V11, Y11, Z11, AA11, AB11
  121. Polygon(T12, U12, U12 + (0, S12), T12 + (0, S12)) → V12, Y12, Z12, AA12, AB12
  122. Polygon(T13, U13, U13 + (0, S13), T13 + (0, S13)) → V13, Y13, Z13, AA13, AB13
  123. Polygon(T14, U14, U14 + (0, S14), T14 + (0, S14)) → V14, Y14, Z14, AA14, AB14
  124. Polygon(T15, U15, U15 + (0, S15), T15 + (0, S15)) → V15, Y15, Z15, AA15, AB15
  125. Polygon(T16, U16, U16 + (0, S16), T16 + (0, S16)) → V16, Y16, Z16, AA16, AB16
  126. Polygon(T17, U17, U17 + (0, S17), T17 + (0, S17)) → V17, Y17, Z17, AA17, AB17
  127. Polygon(T18, U18, U18 + (0, S18), T18 + (0, S18)) → V18, Y18, Z18, AA18, AB18
  128. Polygon(T19, U19, U19 + (0, S19), T19 + (0, S19)) → V19, Y19, Z19, AA19, AB19
  129. Polygon(T20, U20, U20 + (0, S20), T20 + (0, S20)) → V20, Y20, Z20, AA20, AB20
  130. Polygon(T21, U21, U21 + (0, S21), T21 + (0, S21)) → V21, Y21, Z21, AA21, AB21
  131. Polygon(T22, U22, U22 + (0, S22), T22 + (0, S22)) → V22, Y22, Z22, AA22, AB22
  132. Polygon(T23, U23, U23 + (0, S23), T23 + (0, S23)) → V23, Y23, Z23, AA23, AB23
  133. Polygon(T24, U24, U24 + (0, S24), T24 + (0, S24)) → V24, Y24, Z24, AA24, AB24
  134. Polygon(T25, U25, U25 + (0, S25), T25 + (0, S25)) → V25, Y25, Z25, AA25, AB25
  135. Polygon(T26, U26, U26 + (0, S26), T26 + (0, S26)) → V26, Y26, Z26, AA26, AB26
  136. Polygon(T27, U27, U27 + (0, S27), T27 + (0, S27)) → V27, Y27, Z27, AA27, AB27
  137. Polygon(T28, U28, U28 + (0, S28), T28 + (0, S28)) → V28, Y28, Z28, AA28, AB28
  138. Polygon(T29, U29, U29 + (0, S29), T29 + (0, S29)) → V29, Y29, Z29, AA29, AB29
  139. Polygon(T30, U30, U30 + (0, S30), T30 + (0, S30)) → V30, Y30, Z30, AA30, AB30
  140. Polygon(T31, U31, U31 + (0, S31), T31 + (0, S31)) → V31, Y31, Z31, AA31, AB31
  141. Polygon(T32, U32, U32 + (0, S32), T32 + (0, S32)) → V32, Y32, Z32, AA32, AB32
  142. Polygon(T33, U33, U33 + (0, S33), T33 + (0, S33)) → V33, Y33, Z33, AA33, AB33
  143. Textfield(p) → Textfeld2
  144. RemoveUndefined(V2:V33) → Balken
  145. Sum(Balken) → Versuche
  146. Polygon(T2, U2, U2 + (0, (skal * S2 / Versuche)), T2 + (0, (skal * S2 / Versuche))) → AD2, f, g, i, j
  147. Polygon(T3, U3, U3 + (0, (skal * S3 / Versuche)), T3 + (0, (skal * S3 / Versuche))) → AD3, l, n, q, r
  148. Polygon(T4, U4, U4 + (0, (skal * S4 / Versuche)), T4 + (0, (skal * S4 / Versuche))) → AD4, s, t, a_1, b_1
  149. Polygon(T5, U5, U5 + (0, (skal * S5 / Versuche)), T5 + (0, (skal * S5 / Versuche))) → AD5, c_1, d_1, e_1, f_1
  150. Polygon(T6, U6, U6 + (0, (skal * S6 / Versuche)), T6 + (0, (skal * S6 / Versuche))) → AD6, g_1, h_1, i_1, j_1
  151. Polygon(T7, U7, U7 + (0, (skal * S7 / Versuche)), T7 + (0, (skal * S7 / Versuche))) → AD7, k_1, l_1, m_1, n_1
  152. Polygon(T8, U8, U8 + (0, (skal * S8 / Versuche)), T8 + (0, (skal * S8 / Versuche))) → AD8, p_1, q_1, r_1, s_1
  153. Polygon(T9, U9, U9 + (0, (skal * S9 / Versuche)), T9 + (0, (skal * S9 / Versuche))) → AD9, t_1, a_2, b_2, c_2
  154. Polygon(T10, U10, U10 + (0, (skal * S10 / Versuche)), T10 + (0, (skal * S10 / Versuche))) → AD10, d_2, e_2, f_2, g_2
  155. Polygon(T11, U11, U11 + (0, (skal * S11 / Versuche)), T11 + (0, (skal * S11 / Versuche))) → AD11, h_2, i_2, j_2, k_2
  156. Polygon(T12, U12, U12 + (0, (skal * S12 / Versuche)), T12 + (0, (skal * S12 / Versuche))) → AD12, l_2, m_2, n_2, p_2
  157. Polygon(T13, U13, U13 + (0, (skal * S13 / Versuche)), T13 + (0, (skal * S13 / Versuche))) → AD13, q_2, r_7, s_3, t_3
  158. Polygon(T14, U14, U14 + (0, (skal * S14 / Versuche)), T14 + (0, (skal * S14 / Versuche))) → AD14, r_2, a_4, b_4, c_4
  159. Polygon(T15, U15, U15 + (0, (skal * S15 / Versuche)), T15 + (0, (skal * S15 / Versuche))) → AD15, s_2, d_5, e_5, f_5
  160. Polygon(T16, U16, U16 + (0, (skal * S16 / Versuche)), T16 + (0, (skal * S16 / Versuche))) → AD16, t_2, g_5, h_5, i_5
  161. Polygon(T17, U17, U17 + (0, (skal * S17 / Versuche)), T17 + (0, (skal * S17 / Versuche))) → AD17, a_3, j_6, k_6, l_6
  162. Polygon(T18, U18, U18 + (0, (skal * S18 / Versuche)), T18 + (0, (skal * S18 / Versuche))) → AD18, b_3, m_6, n_6, p_6
  163. Polygon(T19, U19, U19 + (0, (skal * S19 / Versuche)), T19 + (0, (skal * S19 / Versuche))) → AD19, c_3, q_6, d_4, e_4
  164. Polygon(T20, U20, U20 + (0, (skal * S20 / Versuche)), T20 + (0, (skal * S20 / Versuche))) → AD20, d_3, f_4, g_4, h_4
  165. Polygon(T21, U21, U21 + (0, (skal * S21 / Versuche)), T21 + (0, (skal * S21 / Versuche))) → AD21, e_3, i_4, j_4, k_4
  166. Polygon(T22, U22, U22 + (0, (skal * S22 / Versuche)), T22 + (0, (skal * S22 / Versuche))) → AD22, f_3, l_4, m_4, n_4
  167. Polygon(T23, U23, U23 + (0, (skal * S23 / Versuche)), T23 + (0, (skal * S23 / Versuche))) → AD23, g_3, p_4, q_4, r_4
  168. Polygon(T24, U24, U24 + (0, (skal * S24 / Versuche)), T24 + (0, (skal * S24 / Versuche))) → AD24, h_3, s_4, t_4, a_5
  169. Polygon(T25, U25, U25 + (0, (skal * S25 / Versuche)), T25 + (0, (skal * S25 / Versuche))) → AD25, i_3, b_5, c_5, j_5
  170. Polygon(T26, U26, U26 + (0, (skal * S26 / Versuche)), T26 + (0, (skal * S26 / Versuche))) → AD26, j_3, k_5, l_5, m_5
  171. Polygon(T27, U27, U27 + (0, (skal * S27 / Versuche)), T27 + (0, (skal * S27 / Versuche))) → AD27, k_3, n_5, p_5, q_5
  172. Polygon(T28, U28, U28 + (0, (skal * S28 / Versuche)), T28 + (0, (skal * S28 / Versuche))) → AD28, l_3, r_5, s_5, t_5
  173. Polygon(T29, U29, U29 + (0, (skal * S29 / Versuche)), T29 + (0, (skal * S29 / Versuche))) → AD29, m_3, a_6, b_6, c_6
  174. Polygon(T30, U30, U30 + (0, (skal * S30 / Versuche)), T30 + (0, (skal * S30 / Versuche))) → AD30, n_3, d_6, e_6, f_6
  175. Polygon(T31, U31, U31 + (0, (skal * S31 / Versuche)), T31 + (0, (skal * S31 / Versuche))) → AD31, p_3, g_6, h_6, i_6
  176. Polygon(T32, U32, U32 + (0, (skal * S32 / Versuche)), T32 + (0, (skal * S32 / Versuche))) → AD32, q_3, r_6, s_6, t_6
  177. Polygon(T33, U33, U33 + (0, (skal * S33 / Versuche)), T33 + (0, (skal * S33 / Versuche))) → AD33, r_3, a_7, b_7, c_7
  178. RemoveUndefined(AD2:AD33) → Normalisiert
  179. TableText({Liste2, Ergebnisliste, Liste3}) → Text1
  180. LaTeX(Versuche, true, true) → Text2

AI Drawing Prompt Reference

Create an interactive Galton board to visualize the distribution pattern of falling balls. Use multiple inclined barriers that randomly change the ball's path, forming a pile-like distribution at the bottom resembling a normal distribution. Include a slider to control the number of barriers and a bar chart to visualize the final distribution. Add text annotations explaining core mathematical concepts like binomial distribution and combinatorics for high school students learning probability statistics and data visualization.
The prompt above was compiled from the original drawing commands and is for reference only.