Advertisement

Elasticity

Started by February 13, 2002 08:48 AM
1 comment, last by BSXrider 23 years ago
2 things: 1) if a wall has elasticity 0.8 and a ball 0.7 (say) is the elasticity of their collisions 0.56 or is it not that simple? 2) You have a ball with certain elasticity sitting on a platform of certain elasticity. In real life if you dropped a ball on top of this ball they would both bounce up into the air. How ould you go about adding this functionality to a program? - seb
Start with the Abstract.

1) You have an object which could be called matter.

2) This matter has mass and velocity (even when velocity is 0)

3) Matter has Elastistity

4) You can apply forces to matter.

5) Matter can impact matter.

This is a very simple example of your problem because it doesn''t go into the matter shape, size or composition but its enough to get started. It also doesn''t allow for time passage, but concidering that you are dealing with elastic collisions I would guess that you have already implemented it.

If you are programming in a Object Orientated language the next steps will be pretty easy. The important part is that you have methods to apply forces to the Matter and these forces will in turn affect its velocity. You can then use an Impact method to resolve collisions between to object which calculates resulting forces on those pieces of Matter.

Once the resulting forces have been applied the velocities of each object will change. What this means for you is that your ball which was at rest on the table has a velocity directing it into the table. What we have here is another collision and another Impact resolution.

Tell me if this helps...

Good Luck,
-m




Advertisement
Yes, I''m making a rigid body abstract class at the moment. I know that technically speaking a rigid body would perform perfectly elastic collisions. I want to use a coefficient of elasticity less than 1 just to slow things down in collisions, which is dead easy:

v_new = -v_old * e

or whatever.


But in the example I suggested. Well i guess the force of the top ball actually squashes the lower ball. When it expands afterwards the centre of mass moves upwards with a velocity causing the ball to jump in the air. I think to program a "matter" class with this sort of capability might be a little more than I need right now actually. I''ll leave it and stick with the rigid-body assumption.

- seb

This topic is closed to new replies.

Advertisement