# Calculating new mass moments given change in CG and transformation

Given the mass moments of inertia about the CG of the body pre-rotation, and the new CG & rotation matrix1, how can I find the new mass moments about the body's new CG? My CGs are described as distance from the origin, and any rotations are also the origin axes (i.e. not about the CG).

My intuition tells me that there is some way to calculate this without having to take a new integral (this would be difficult as I don't always know the volume/shape of the object).

I apologize if this is more appropriate for a CS/game dev stack exchange. Please let me know if I should repost there instead, and I'll delete/close this one.

Given the 3×3 inertia matrix at a point B and the displacement of this point from the measuring point A defined by a vector $$\boldsymbol{r}_{B/A} = \pmatrix{x & y & z}$$ then the MMOI tensor about A is
$$\mathbf{I}_A = \mathbf{I}_B + m \pmatrix{y^2 + z^2 & -x y & - x z \\ -x y & x^2+z^2 & -y z \\ -x z & -y z & x^2 + y^2}$$
where $$m$$ is the total mass of the body. Obviously you need consistent units between MMOI, mass and distances.
Now for rotation, you use the congruent transformation. Given a rotation matrix $$\mathbf{R}$$ that transforms vectors attached to the body to the world coordinate system, the MMOI in the world coordinate system is
$$\mathbf{I}_{\rm world} = \mathbf{R}\, \mathbf{I}_{\rm body} \mathbf{R}^\top$$ where $$\square^\top$$ is the matrix transpose.