I will in this post write down a TL;DR of the paper 'Collision-Aware and Online Compression of Rigid Body Simulations via Integrated Error Minimization'. Observe that all images are from the paper, and do not belong to me
Storing a rigid body simulation, requires storing the rotations and translations of all rigid bodies in the simulation, and with many bodies and small time steps, this can quickly become a huge amount of data.
Such a huge amount of data is a big inconvenience, since it takes time to load from the disk, and time to transmit and share. Compressing it is desirable.
The paper describes an online compression method; that is, it performs the compression while the simulation is being performed. So it doesn't require all the simulation data to be in memory when compressing, which is a big plus.
Here's how we compress the trajectory(that is, the translations over time), of a rigid body: we fit several spline polynomials that follows the trajectory as close as possible. Basic Algorithm: get translation for next timestep, refit our current polynomial to the trajectory, now that we are aware of another timestep. Get next translation, refit polynomial again, and so on.
The algorithm keeps track of the error(difference) between the polynomial(that approximated the trajectory) and the true trajectory. If error grows too large => output current polynomial, and then start a new polynomial.
They also need to do fitting on the rotations over time. For this, they found that it worked better to use a modified slerp formula, instead of polynomials.