Author Topic: Ejs Open Source 2D Collision Model java applet  (Read 13619 times)


  • Moderator
  • Hero Member
  • *****
  • Posts: 1774
    • lookang web
Ejs Open Source 2D Collision Model java applet
« on: May 19, 2011, 11:53:06 pm »
Ejs Open Source 2D Collision Model java applet by Fu-Kwun Hwang, edited by Wolfgang Christian and Robert Mohr
very slightly edited by lookang


Full screen applet or Problem viewing java?Add to exception site list
Press the Alt key and the left mouse button to drag the applet off the browser and onto the desktop. This work is licensed under a Creative Commons Attribution 2.5 Taiwan License
  • Please feel free to post your ideas about how to use the simulation for better teaching and learning.
  • Post questions to be asked to help students to think, to explore.
  • Upload worksheets as attached files to share with more users.
Let's work together. We can help more users understand physics conceptually and enjoy the fun of learning physics!

Elastic Collision writeup by Wolfgang Christian and Robert Mohr
The EJS Elastic Collision model allows the user to simulate a two-dimensional elastic collision. The user can modify the mass, position and velocity of each disk using the sliders. Both disks are also draggable and the center of mass is shown a a cross in the simulation.
A checkbox option allows the user to pause the simulation when a collision occurs. The pale blue arrows show the momenta of the disks immediately before the collision and the dark blue arrows show the momenta after the collision. The red arrows show impulse (change in momentum) of each disk caused by the collision. Note that the impulse vectors are equal and opposite and that the impulse direction is parallel to the line connecting the disk centers.
Newtonian mechanics predicts that for an isolated system total momentum is always conserved and total energy is conserved if the particles do not have hidden degrees of freedom such as spin or heat capacity. Collisions that conserve energy are said to be totally elastic because the balls bounce off of each other.
Conservation laws play a fundamental role in physics and most physicists would argue that they are more fundamental then Newton's Laws. In the Elastic Collision model, conservation of energy and momentum are used to compute the trajectories of two balls aced on by a strong but brief collision force. The hard disk (impulse) approximation assumes that the interaction acts instantaneously along a line connecting the particle centers when the the particles come into contact. Because the particles do not interact except for this brief instant, we need only consider kinetic energy when computing the total energy of the system.
Etotal = (1/2) m1 v12 + (1/2) m2 v22
The total momentum of the system is easy to compute and is the sum of the momentum of the two particles.
ptotal = m1 v1 + m2 v2
The bold typeface indicates that momentum and velocity are vectors so the above equation becomes to two equations when written component form.
Giancoli Physics: Principles with Applications sixth edition, 175-181.
The Elastic Collision model was created by Fu-Kwun Hwang using the Easy Java Simulations (EJS) modeling tool. It was adapted to EJS version 4.1 by Wolfgang Christian and Robert Mohr at Davidson College. You can examine and modify the model for this simulation if you have Ejs installed by right-clicking within the simulation frame and selecting "Open Ejs Model" from the pop-up menu. Information about EJS is available at: and in the OSP ComPADRE collection .

Explanation by Fu-Kwun Hwang
You need to understand conservation of momentum and conservation of energy.
The velocity of two objecs after collision (V1',V2')can be calculated from velocity before collisions (V1,V2) and mass of two objects (m1,m2).

V1'= (m1-m2)*V1/(m1+m2) + 2*m2*V2/(m1+m2)= (m1V1+m2V2)/(m1+m2)+(V2-V1)*m2/(m1+m2)=Vcm+(V2-V1)*m2/(m1+m2);


Where Vcm=(m1V1+m2V2)/(m1+m2);
Before the collision, the velocity of m1 relative to Vcm is
compare it with the second term in V1'

For collision 2D, the trick is to transform it into collision 1D problem:
In the direction of red arows, and another direction normal to red arrows (i.e. direction of green arrows).
If friction is not considered (which will cause both balls to rotate due to friction force),
Then green arrow velocity is not changed after the collision because there is no force in that direction.
And collision in red arrow direction is 1D collision problem, so you can use the above equation.
However, you need to calculate the component of velocity in red arrow direction. (This you need to understand the meaning of inner product -- mathematic operation).
« Last Edit: May 20, 2011, 11:03:22 am by lookang »


  • Moderator
  • Hero Member
  • *****
  • Posts: 1774
    • lookang web
Re: Ejs Open Source 2D Collision Model java applet
« Reply #1 on: May 19, 2011, 11:56:16 pm »
text bigger
values for sense making of conservation of momentum along the direction
text "drag mass to move"
text "2 Dimensional Elastic Collision Model"

trying to read the codes to understand the different implementation codes

to do:
add values for perpendicular and parallel to tangent of collision for appreciation of COM
« Last Edit: May 19, 2011, 11:57:53 pm by lookang »