Hello folks!
I noticed that "Impulse applying equation" is incorrect in all Physics Engines and papers
Specially, applying Linier Impulse is incorrect. here the equation :
va2 = va1 + j n / ma
ωa2 = ωa1 + (rap × j n) / Ia
In the Equation above, Linear impulse never considering contact point location, e.g if its close to Center of Mass. And this is completely incorrect. Since force or impulse Vector should be divided with Vector separation rules.
Meanwhile, this equation shows its main incorrect value when an impulse or force vector perpendicular to the collision arm vector. Indeed in this case, Linear Impulse should be zero. but the equation above adds additional impulse to the Linear velocity
Here I proposed my own fixed equation for applying Impulse or Force for a Rigidbody
va2 = va1 + (rap · j n) / ma ----(Dot product of "collision normal" and "collision arm")
ωa2 = ωa1 + (rap × j n) / Ia
Please, let me know what do you think about my proposal ! Because Impulse applying formula is core of the Physics Engine, the incorrect formula totally changes realism of the simulation.
J impulse is wrong in all Physics Engines
-
- Posts: 2
- Joined: Fri Sep 03, 2021 10:17 am
-
- Posts: 849
- Joined: Tue Sep 30, 2014 6:03 pm
- Location: San Francisco
Re: J impulse is wrong in all Physics Engines
This rings a bell... I recall having the exact same thought but eventually convinced myself that it was wrong and the books are correct. As I recall the line of reasoning was...
If you apply an impulse at a point such that the lever-arm (from the center of mass) is perpendicular... you still end up with delta linear motion on the object because Newton's laws of motion require it, specifically: equal and opposite forces and conservation of linear momentum. When you contrive some mechanism to deliver the impulse, such as a collision with a small elastic particle and do the math for conservation of momentum you end up with the book equations.
If you apply an impulse at a point such that the lever-arm (from the center of mass) is perpendicular... you still end up with delta linear motion on the object because Newton's laws of motion require it, specifically: equal and opposite forces and conservation of linear momentum. When you contrive some mechanism to deliver the impulse, such as a collision with a small elastic particle and do the math for conservation of momentum you end up with the book equations.
-
- Posts: 25
- Joined: Sun Sep 26, 2021 12:38 pm
Re: J impulse is wrong in all Physics Engines
Have you considered WORLD_FRAME, instead of LINK_FRAME?
The link follows the object, resulting in practically no displacement. The world is a static, resulting in a deformation over time.
Hope that helps.
The link follows the object, resulting in practically no displacement. The world is a static, resulting in a deformation over time.
Hope that helps.
-
- Posts: 2
- Joined: Wed Aug 04, 2021 8:48 am
Re: J impulse is wrong in all Physics Engines
Hi, I have not long started to get into all of this, you have a lot of useful things that I am applying to my knowledge! I appreciate it!
-
- Posts: 2
- Joined: Fri Sep 03, 2021 10:17 am
Re: J impulse is wrong in all Physics Engines
Finally I've just figured out that this formula is correct and proved with a simple lever example
You do not have the required permissions to view the files attached to this post.