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.
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.
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
________________
_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help : https://help.launchpad.net/ListHelp