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
 drleviathan
 Posts: 764
 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 leverarm (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 leverarm (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.
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.
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