How Does the Jacobian Matrix Impact Collision Response in Physics Engines?

  • Thread starter Thread starter g3ronimo
  • Start date Start date
  • Tags Tags
    Jacobian
Click For Summary
Creating a physics engine involves understanding collision response and the use of matrices, particularly the Jacobian matrix. The sequential impulse solver, attributed to Erin Catto, is recommended for solving contact constraints effectively, focusing on how constraints are solved rather than their mathematical form. For better physical accuracy, exploring resources on the sequential impulse solver and the projected Gauss-Seidel method can be beneficial. While Box2D implements a 2D version, Bullet offers a 3D implementation that utilizes Jacobian formulations. Resources like Brian Mirtich's work may provide further insights into these concepts.
g3ronimo
Messages
3
Reaction score
0
Hello,
I'm trying to make my own physics engine. I've already made one with momentum and an very easy
collision solver, but it was creepy and full of bugs because I solved the contacts one after another.
Then I read about the difference between iterative and single pass algotrithms and I tried to get into some deeper math but I was definitely limited by my little knowledge in matrices. So I started to improve this but apart from learning the basic handling with matrices I have some problems understanding the Jacobian matrix and its connection to the collision response. Could you recommend
me some "simpy explained" resources on this topic? I had a look into Game Physics from David Eberly
but the math required for this book is too heavy for me in moment. I am familiar with differentation
and things like that from school but It's hard for me to master resources with such a strong level of
abstraction.

Thanks in advance and excuse for my beginner english:)
 
Physics news on Phys.org
Could you give me an example how to use it with forces? ( and or torques )
 
g3ronimo said:
Hello,
I'm trying to make my own physics engine. I've already made one with momentum and an very easy
collision solver, but it was creepy and full of bugs because I solved the contacts one after another.
Then I read about the difference between iterative and single pass algotrithms and I tried to get into some deeper math but I was definitely limited by my little knowledge in matrices. So I started to improve this but apart from learning the basic handling with matrices I have some problems understanding the Jacobian matrix and its connection to the collision response. Could you recommend
me some "simpy explained" resources on this topic? I had a look into Game Physics from David Eberly
but the math required for this book is too heavy for me in moment. I am familiar with differentation
and things like that from school but It's hard for me to master resources with such a strong level of
abstraction.

Thanks in advance and excuse for my beginner english:)

I don't think moving to a Jacobian form will help you much, providing that what you're doing is physically correct.

The key to solving your contact constraints is how you solve them, not the form that they're in. The method that you're most likely to be interested is the incredibly simple sequential impulse solver attributed to Erin Catto.

One thing that will be useful to you, that you may not find as you study this, is as you iterate through your solver, if the required impulse at a contact is ever negative, then you should completely remove the accumulated impulse from that contact.

Another thing that isn't often discussed is how to solve for any residual interpenetration. It's less critical, but you can just follow a similar method for position too once you've solved for velocity.
 
Last edited:
craigi said:
The key to solving your contact constraints is how you solve them, not the form that they're in. The method that you're most likely to be interested is the incredibly simple sequential impulse solver attributed to Erin Catto.

Can I read about it somewhere or do I have to check the Box2d source code? My main purpose
was to get more physical accuracy and in this context Erin Catto always mentioned the Jacobian.
I think he never really described his solver or maybe I just missed it.:confused:
 
g3ronimo said:
Can I read about it somewhere or do I have to check the Box2d source code? My main purpose
was to get more physical accuracy and in this context Erin Catto always mentioned the Jacobian.
I think he never really described his solver or maybe I just missed it.:confused:

I don't have a good reference for it, but if you search "sequential impulse solver", you should find it. It's really not very complicated. You can guess how it works from its name.

Box2D, as its name suggests is 2 dimensional. The Bullet source code implements it in 3D and uses a Jacobian formulation, if I recall correctly.

I don't know if the sequential impulse solver was ever presented formally. Try searching for Brian Mirtich too.

There is a formal method called projected Gauss-Seidel, but they can be demonstrated to be equivalent and the sequential impulse approach is much easier conceptualise. If you can't find a good reference for it, then you could examine the PGS method and you should be able to see how it works.
 
Last edited:
Thread 'What is the pressure of trapped air inside this tube?'
As you can see from the picture, i have an uneven U-shaped tube, sealed at the short end. I fill the tube with water and i seal it. So the short side is filled with water and the long side ends up containg water and trapped air. Now the tube is sealed on both sides and i turn it in such a way that the traped air moves at the short side. Are my claims about pressure in senarios A & B correct? What is the pressure for all points in senario C? (My question is basically coming from watching...

Similar threads

  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
9K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 102 ·
4
Replies
102
Views
7K