← Back to team overview

yade-dev team mailing list archive

Re: [Branch ~yade-dev/yade/trunk] Rev 2654: 1. HelixEngine updated, dublicated code deleted.

 

Hi,

After a quick look at rotation engine, one suggestion.
Better precision would be obtained by defining "secant" velocity instead
of "tangent".
(1) Currently ("tangent") : vel = spin.cross(l), then vel*dt is only
approximating the exact circular trajectory (if vel*dt is large, then
the object will go away from rotation axis.
(2) It could be something like ("secant") : vel =
(rotatedPos-currentPos)/dt =  (q*(pos-axisPt)-pos)/dt
Then the integration would be exact and pos-axisPt length would be constant.

q is computed at KinematicEngines.cpp:90 but not used currently.

Bruno




Follow ups

References