i'm kind of new in the area of physics simulation, thus i've got a humble beginner question:
according to baraff's article "An Introduction to Physically Based Modelling: Rigid Body Simulation I -- Unconstrained Rigid Body Simulation" (which currently seems to be offline but you all surely know) i built a very basic simulation system using Quaternions. baraff starts using matrices and replaces them by quaternions in a later chapter.
his usage of these quaternions leads to my question - since the pdf's are not available i will shortly explain what he does, so skip this if you know the article:
<baraff>
he iterates through each body state Y(t) in the phase, each one consisting of
- Vector x(t)
- Quaternion q(t)
- Vector P(t)
- Vector L(t),
adding the derivative phase space vector dY/dt, scaled by the stepsize, to each of them.
</baraff>
scaling the derivative by the timestep and adding to the current phase space vector makes sense for 3d vectors, but not for quaternions i think. to just scale a quaternion by a factor and adding this scaled quaternion to the current one to get the new rotation, then just normalizing the result seems weird to me. espacaly as i read it's necessary to use slerp to interpolate beween two rotations. additionally, to apply a rotation a multiplication of quaternion is required.
however, the simulation looks fine but maybe it's because of the small timesteps the error doesn't visually attend. or maybe the rotations *should* perform a little different

does anybody of you have a answer (maybe coupled with an illuminating but due to lack of time not too bulky) paper/article/link?
thx!