2D Elastic Collision Simulation of Two Hard Spheres

2D Elastic Collision Simulation of Two Hard Spheres
Loading the math board and drawing, please wait…
2018-07-11 01:35
① This applet demonstrates the complete dynamic process of an elastic collision between two hard spheres in a plane, visualizing changes in velocity and position before and after impact, along with conservation of momentum and kinetic energy. ② Core mathematical concepts include conservation of momentum and kinetic energy in classical mechanics, collision geometry (normal and tangential decomposition), vector operations, and parametric equations describing motion. ③ Construction highlights: Based on the construction summary, GeoGebra commands such as Vector, Segment, LineBisector, Intersect, Rotate, Defined, and If are used to build collision points, normal vectors, velocity decomposition (parallel and perpendicular components), and post-collision velocity updates (e.g., P1para_f, P2orto_f). ④ Suitable for high school physics or introductory university physics demonstrations of collisions, as well as mathematics examples of vector decomposition and parametric equations, helping students grasp the geometric and algebraic essence of elastic collisions.

GeoGebra Commands & Parameters

  1. Vector((0, 0), Point[{(x(P2_{urto}) - x(P1_{urto})) / NV, (y(P2_{urto}) - y(P1_{urto})) / NV}]) → V_{para}
  2. Vector((0, 0), Point[{(-(y(P2_{urto}) - y(P1_{urto}))) / NV, (x(P2_{urto}) - x(P1_{urto})) / NV}]) → V_{orto}
  3. Vector(P1_i, P1_i + (V1x_i, V1y_i)) → V1_i
  4. Vector(P2_i, P2_i + (V2x_i, V2y_i)) → V2_i
  5. Vector(P2_i, P2_i + P2orto_i) → V2orto_i
  6. Vector(P2_i, P2_i + P2para_i) → V2para_i
  7. Vector(P1_i, P1_i + P1para_i) → V1para_i
  8. Vector(P2_f, P2_f + P2para_f) → V2para_f
  9. Vector(P1_i, P1_i + P1orto_i) → V1orto_i
  10. Segment(P1_{urto}, P2_{urto}) → Asse_{urto}
  11. LineBisector(Asse_{urto}) → a
  12. Intersect(a, Asse_{urto}) → A
  13. Rotate(P1_{urto}, 90*°, P1_{urto}) → B
  14. Vector(P1_f, P1_f + (V1x_f, V1y_f)) → V1_f
  15. Vector(P2_f, P2_f + (V2x_f, V2y_f)) → V2_f
  16. Vector(CM, CM + PQ_f) → Q_{f}
  17. Vector(CM, CM + PQ_i) → Q_{i}
  18. Vector(P1_f, P1_f + P1para_f) → V1para_f
  19. Vector(P1_f, P1_f + P1orto_f) → V1orto_f
  20. Vector(P2_f, P2_f + P2orto_f) → V2orto_f
  21. Defined(t_{urto}) → AAA
  22. If(Defined[t_{urto}], If[t < t_{urto}, Circle[P2_i, R2], Circle[P2_f, R2]], Circle[(P2x_i + V2x_i * t, P2y_i + V2y_i * t), R2]) → Palla2
  23. If(Defined[t_{urto}], If[t < t_{urto}, Circle[P1_i, R1], Circle[P1_f, R1]], Circle[(P1x_i + V1x_i * t, P1y_i + V1y_i * t), R1]) → Palla1

AI Drawing Prompt Reference

Create a 2D elastic collision simulation of two hard spheres. Show the initial positions and velocity vectors of both spheres, then the moment of contact with the normal and tangential directions at the collision point. Decompose each velocity into components parallel and perpendicular to the normal, displaying them as separate vectors. After collision, update the velocity vectors and show the new motion directions. Include sliders to control time and observe the dynamic process before and after impact. Also display the center of mass and total momentum vector to illustrate conservation laws.
The prompt above was compiled from the original drawing commands and is for reference only.