Leap and Rebound of a Ball Simulation

Leap and Rebound of a Ball Simulation
Loading the math board and drawing, please wait…
2020-02-01 16:35
① This GeoGebra example dynamically simulates a ball leaping and rebounding under gravity, visually demonstrating motion trajectories and velocity changes. ② Core math concepts include function graphs, sequences (rebound series), linear equations (velocity changes), differential calculus (instantaneous velocity), and probability (random factors possibly affecting rebound heights), along with dilation and exponential decay of rebound heights. ③ Construction highlights: uses Vector for initial velocity, Intersect for collision points, If for rebound conditions, CurveCartesian for trajectory curves, Segment and Line for reference lines, Sequence for generating multiple rebounds, and Polygon for auxiliary shapes; objects include points (E, D, F), parameters (t, v, u), functions (k, h, g), and series rebound parameters (r1~r10, a1~a10, t1~t10). ④ Suitable for high school to early college students, ideal for physics-mathematics integrated kinematics teaching and for visually demonstrating derivative concepts in calculus.

GeoGebra Commands & Parameters

  1. Vector((0, 1)) → v
  2. Vector((1, 0)) → u
  3. Intersect(xAxis, yAxis) → O
  4. If(t ≥ 0 ∧ t ≤ r1, ((k_1 * (t + r1)) * (t - r1)), 0) → a1
  5. If(t ≥ 0 ∧ t ≤ r1, t, 0) → t1
  6. If(t ≥ r1 ∧ t ≤ r2, ((k_1 * (t - r1)) * (t - r2)), 0) → a2
  7. If(t ≥ r1 ∧ t ≤ r2, t, 0) → t2
  8. If(t ≥ r2 ∧ t ≤ r3, ((k_1 * (t - r2)) * (t - r3)), 0) → a3
  9. If(t ≥ r2 ∧ t ≤ r3, t, 0) → t3
  10. If(t ≥ r3 ∧ t ≤ r4, ((k_1 * (t - r3)) * (t - r4)), 0) → a4
  11. If(t ≥ r3 ∧ t ≤ r4, t, 0) → t4
  12. If(t ≥ r4 ∧ t ≤ r5, ((k_1 * (t - r4)) * (t - r5)), 0) → a5
  13. If(t ≥ r4 ∧ t ≤ r5, t, 0) → t5
  14. If(t ≥ r5 ∧ t ≤ r6, ((k_1 * (t - r5)) * (t - r6)), 0) → a6
  15. If(t ≥ r5 ∧ t ≤ r6, t, 0) → t6
  16. If(t ≥ r6 ∧ t ≤ r7, ((k_1 * (t - r6)) * (t - r7)), 0) → a7
  17. If(t ≥ r6 ∧ t ≤ r7, t, 0) → t7
  18. If(t ≥ r7 ∧ t ≤ r8, ((k_1 * (t - r7)) * (t - r8)), 0) → a8
  19. If(t ≥ r7 ∧ t ≤ r8, t, 0) → t8
  20. If(t ≥ r8 ∧ t ≤ r9, ((k_1 * (t - r8)) * (t - r9)), 0) → a9
  21. If(t ≥ r8 ∧ t ≤ r9, t, 0) → t9
  22. If(t ≥ r9 ∧ t ≤ r10, ((k_1 * (t - r9)) * (t - r10)), 0) → a10
  23. If(t ≥ r9 ∧ t ≤ r10, t, 0) → t10
  24. If(t ≥ r10 ∧ t ≤ r11, ((k_1 * (t - r10)) * (t - r11)), 0) → a11
  25. If(t ≥ r10 ∧ t ≤ r11, t, 0) → t11
  26. If(t ≥ r11 ∧ t ≤ r12, ((k_1 * (t - r11)) * (t - r12)), 0) → a12
  27. If(t ≥ r11 ∧ t ≤ r12, t, 0) → t12
  28. If(t ≥ r13 ∧ t ≤ r14, ((k_1 * (t - r13)) * (t - r14)), 0) → a14
  29. If(t ≥ r13 ∧ t ≤ r14, t, 0) → t14
  30. If(t ≥ r14 ∧ t ≤ r15, ((k_1 * (t - r14)) * (t - r15)), 0) → a15
  31. If(t ≥ r14 ∧ t ≤ r15, t, 0) → t15
  32. If(t ≥ r15 ∧ t ≤ r16, ((k_1 * (t - r15)) * (t - r16)), 0) → a16
  33. If(t ≥ r15 ∧ t ≤ r16, t, 0) → t16
  34. If(t ≥ r16 ∧ t ≤ r17, ((k_1 * (t - r16)) * (t - r17)), 0) → a17
  35. If(t ≥ r16 ∧ t ≤ r17, t, 0) → t17
  36. If(t ≥ r17 ∧ t ≤ r18, ((k_1 * (t - r17)) * (t - r18)), 0) → a18
  37. If(t ≥ r17 ∧ t ≤ r18, t, 0) → t18
  38. If(t ≥ r18 ∧ t ≤ r19, ((k_1 * (t - r18)) * (t - r19)), 0) → a19
  39. If(t ≥ r18 ∧ t ≤ r19, t, 0) → t19
  40. If(t ≥ r19 ∧ t ≤ r20, ((k_1 * (t - r19)) * (t - r20)), 0) → a20
  41. If(t ≥ r19 ∧ t ≤ r20, t, 0) → t20
  42. If(t ≥ r12 ∧ t ≤ r13, ((k_1 * (t - r12)) * (t - r13)), 0) → a13
  43. If(t ≥ r12 ∧ t ≤ r13, t, 0) → t13
  44. CurveCartesian(s, ((k_1 * (s + r1)) * (s - r1)), s, 0, r1) → c1
  45. CurveCartesian(s, ((k_1 * (s - r1)) * (s - r2)), s, r1, r2) → c2
  46. CurveCartesian(s, ((k_1 * (s - r2)) * (s - r3)), s, r2, r3) → c3
  47. CurveCartesian(s, ((k_1 * (s - r3)) * (s - r4)), s, r3, r4) → c4
  48. CurveCartesian(s, ((k_1 * (s - r4)) * (s - r5)), s, r4, r5) → c5
  49. CurveCartesian(s, ((k_1 * (s - r5)) * (s - r6)), s, r5, r6) → c6
  50. CurveCartesian(s, ((k_1 * (s - r6)) * (s - r7)), s, r6, r7) → c7
  51. CurveCartesian(s, ((k_1 * (s - r7)) * (s - r8)), s, r7, r8) → c8
  52. CurveCartesian(s, ((k_1 * (s - r8)) * (s - r9)), s, r8, r9) → c9
  53. CurveCartesian(s, ((k_1 * (s - r9)) * (s - r10)), s, r9, r10) → c10
  54. CurveCartesian(s, ((k_1 * (s - r10)) * (s - r11)), s, r10, r11) → c11
  55. CurveCartesian(s, ((k_1 * (s - r11)) * (s - r12)), s, r11, r12) → c12
  56. CurveCartesian(s, ((k_1 * (s - r12)) * (s - r13)), s, r12, r13) → c13
  57. If(t ≤ r20, P1, P2) → P
  58. CurveCartesian(s, ((k_1 * (s - r13)) * (s - r14)), s, r13, r14) → c14
  59. CurveCartesian(s, ((k_1 * (s - r14)) * (s - r15)), s, r14, r15) → c15
  60. CurveCartesian(s, ((k_1 * (s - r15)) * (s - r16)), s, r15, r16) → c16
  61. CurveCartesian(s, ((k_1 * (s - r16)) * (s - r17)), s, r16, r17) → c17
  62. CurveCartesian(s, ((k_1 * (s - r17)) * (s - r18)), s, r17, r18) → c18
  63. CurveCartesian(s, ((k_1 * (s - r18)) * (s - r19)), s, r18, r19) → c19
  64. CurveCartesian(s, ((k_1 * (s - r19)) * (s - r20)), s, r19, r20) → c20
  65. Segment(AA, (-1, 0)) → c
  66. Segment((-2, 0), (-2, h)) → d
  67. Line((0, h), c) → e
  68. Intersect(e, d) → A
  69. Sequence(AA + (i / 5 * Vector[AA, BB]), i, 0, 5) → liste1
  70. Polygon(B, C, BB, AA) → poly1, i, j, l, m
  71. Polygon(D, E, F, G) → poly2, d_1, e_1, f_1, g_1
  72. Segment(D1, (0, F1)) → G1
  73. Segment(D2, F2) → G2
  74. Segment(D3, F3) → G3
  75. Segment(D4, F4) → G4
  76. Segment(D5, F5) → G5
  77. Segment(D6, F6) → G6
  78. Segment(D7, F7) → G7
  79. Segment(D8, F8) → G8
  80. Segment(D9, F9) → G9
  81. Segment(D10, F10) → G10
  82. Segment(D11, F11) → G11
  83. Segment(D12, F12) → G12
  84. Segment(D13, F13) → G13
  85. Segment(D14, F14) → G14
  86. Segment(D15, F15) → G15
  87. Segment(D16, F16) → G16
  88. Segment(D17, F17) → G17
  89. Segment(D18, F18) → G18
  90. Segment(D19, F19) → G19
  91. Segment(D20, F20) → G20
  92. Segment(H1, H2) → I1
  93. Segment(H2, H3) → I2
  94. Segment(H3, H4) → I3
  95. Segment(H4, H5) → I4
  96. Segment(H5, H6) → I5
  97. Segment(H6, H7) → I6
  98. Segment(H7, H8) → I7
  99. Segment(H8, H9) → I8
  100. Segment(H9, H10) → I9
  101. Segment(H10, H11) → I10
  102. Segment(H11, H12) → I11
  103. Segment(H12, H13) → I12
  104. Segment(H13, H14) → I13
  105. Segment(H14, H15) → I14
  106. Segment(H15, H16) → I15
  107. Segment(H16, H17) → I16
  108. Segment(H17, H18) → I17
  109. Segment(H18, H19) → I18
  110. Segment(H19, H20) → I19
  111. Sequence(Text[If[i ≟ 2, "ar", "ar^{" + (i - 1) + "}"], Element[liste2, i] + (-0.2, 0.4), true, true], i, 1, Length[liste2] - 10) → liste3

AI Drawing Prompt Reference

Create a dynamic simulation of a ball leaping and rebounding under gravity, showing motion trajectories and velocity changes. Include initial velocity vectors, the intersection point of coordinate axes, multiple trajectories with decreasing rebound heights, reference lines, and auxiliary shapes for multiple rebounds. Use parameters to control the ball's motion, function graphs to illustrate velocity changes, and a sequence to generate successive rebounds, suitable for demonstrating calculus concepts like derivatives.
The prompt above was compiled from the original drawing commands and is for reference only.