Internally all objects need position and velocity information, so you would have to store these as well. Interpolating Euler angles is not a good idea. The proper way of doing things would be to convert them to quaternions and interpolate between those and convert them back to Euler for 3DGS. Using angular velocity (phent_getangvelocity) information should help you decide which way to rotate an object. E.g. if the angle between a normalized angular velocity vector of frame 1 and frame 2 is larger than say 90 degrees then some discrete event (collision) has occured.