I am a greenhand.My English is poor.I hope anyone can understand what I mean.
What does this variables mean inbtSolverConstraint.h file?There is no explanation.I cannot find any information.
m_rhs、m_cfm、m_relpos1CrossNormal、internalGetDeltaAngularVelocity、m_jacDiagABInv
Who can give some information about variables as....
- drleviathan
- Posts: 849
- Joined: Tue Sep 30, 2014 6:03 pm
- Location: San Francisco
Re: Who can give some information about variables as....
Here are my guesses:
m_rhs = right hand side (of some fundamental constraint equation probably. If you were to study the details of using Jacobians to solve constraints this might make more sense.)
m_cfm = ? (I couldn't find any clues on this one)
m_relpos1CrossNormal = vector cross product between the relative position of object 1 with some normal vector (of collision perhaps)
btSolverBody::internalGetDeltaAngularVelocity() = you can actually look this one up in the code. It just returns the angular velocity. The "internal" name is probably for specifying the API of the btSolverBody class -- derived classes can override and their own versions of the method will be called in the right places in the Solver implementations.
m_jacDiagABInv = inverse of the Jacobian matrix from object A to object B. The AB is probably used to remind the developer which frame the Jacobian is defined in. It either means local position is positionA - positionB (in which case objectB would be at the local origin) or it is the other way around.
There is more information to be had, however it is somewhat complex and you'll have to study how to solve constraints using Jacobians. Google is your friend in this matter.
m_rhs = right hand side (of some fundamental constraint equation probably. If you were to study the details of using Jacobians to solve constraints this might make more sense.)
m_cfm = ? (I couldn't find any clues on this one)
m_relpos1CrossNormal = vector cross product between the relative position of object 1 with some normal vector (of collision perhaps)
btSolverBody::internalGetDeltaAngularVelocity() = you can actually look this one up in the code. It just returns the angular velocity. The "internal" name is probably for specifying the API of the btSolverBody class -- derived classes can override and their own versions of the method will be called in the right places in the Solver implementations.
m_jacDiagABInv = inverse of the Jacobian matrix from object A to object B. The AB is probably used to remind the developer which frame the Jacobian is defined in. It either means local position is positionA - positionB (in which case objectB would be at the local origin) or it is the other way around.
There is more information to be had, however it is somewhat complex and you'll have to study how to solve constraints using Jacobians. Google is your friend in this matter.
Re: Who can give some information about variables as....
THX,I try to understand and test.
Somebody can understand me!
Somebody can understand me!