# Methods to interpolate between 2 topologically identical 3D meshes

I have 2 3D surface meshes. These meshes have vertex-correspondence and have the same topology (same edges and triangles connecting the vertices). However, the vertex positions (3d coordinates) are different - that is, the meshes are a vertex deformation of each other. They are pose 1 and pose 2 of the same surface mesh (for example a 3D human or animal).

I'm looking for ways to interpolate between the 2 poses and generate intermediate poses. A naive way to do this is to linearly interpolate the vertex coordinates of each corresponding vertex between the two meshes, with some small step size, to generate intermediate vertex positions. However, this can cause implausible poses in between as it won't preserve local geometry.

Another, better way is to find the global transformation matrix for each triangle of poses 1 and 2, then interpolate in the transformation space (the space of 4x4 transformation matrices), and reconstruct the intermediate vertex positions using the interpolated transformations.

Are there, other better methods, papers that have been published in Siggraph/Cvpr that are known to be better than these naive methods?