J impulse is wrong in all Physics Engines

Post Reply
MyelinSheathXD
Posts: 2
Joined: Fri Sep 03, 2021 10:17 am

J impulse is wrong in all Physics Engines

Post by MyelinSheathXD »

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

Image






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





Image




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.
User avatar
drleviathan
Posts: 756
Joined: Tue Sep 30, 2014 6:03 pm
Location: San Francisco

Re: J impulse is wrong in all Physics Engines

Post by drleviathan »

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.
Mark97
Posts: 21
Joined: Sun Sep 26, 2021 12:38 pm

Re: J impulse is wrong in all Physics Engines

Post by Mark97 »

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.
User avatar
RKaji
Posts: 1
Joined: Wed Aug 04, 2021 8:48 am

Re: J impulse is wrong in all Physics Engines

Post by RKaji »

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!
MyelinSheathXD
Posts: 2
Joined: Fri Sep 03, 2021 10:17 am

Re: J impulse is wrong in all Physics Engines

Post by MyelinSheathXD »

Finally I've just figured out that this formula is correct and proved with a simple lever example
lever.png
lever.png (247.99 KiB) Viewed 71 times
Post Reply