Thread Previous • Date Previous • Date Next • Thread Next |
Thank you for the explanations. This is more or less what I guessed already. I understand this zero_point is completly linked with both facets and kinematic engine. One problem is it breaks interaction laws for somebody who is not using your kinematic approach.zeroPoint is the point through which passes the axis of rotation of a rigid body. It is used to calculate the linear velocity of the contact point on the surface of the body, not rotating around its center of inertia (se3). For example, to set facets set zeroPoint, and sets the angular velocity of rotation. Then all facets rotate around the axis passing through this point, the direction of the axis defined by direction of the vector of angular velocity.
Do we need to handle this in sphere-sphere interactions? Perhaps there could be a different interaction geometry for sphere-facet? It would also help removing the specific variables "facetContactFace" out of the basic interaction geometry class. I don't think this in an excessive splitting of code. ;)
For kinematic engines for spheres :Why not defining the se3 kinematics of the sphere (perhaps even facets), in local coordinates, based on the global center of rotation (something like se3->velocity = zero_point->velocity + (position-zero_point)*rotVel; se3->rotation = globalrotation). In that case, all the rest would be a lot simpler (no need to check isDynamic, no need to handle special cases in constitutive laws, velocity and rotationVel can be used everywhere in the code without the risk of using wrong values, etc).
Bruno
-- _______________ Chareyre Bruno Maitre de conference Grenoble INP Laboratoire 3SR - bureau E145 BP 53 - 38041, Grenoble cedex 9 - France Tél : 33 4 56 52 86 21 Fax : 33 4 76 82 70 43 ________________
Thread Previous • Date Previous • Date Next • Thread Next |