<p>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).</p>
<p>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.</p>
<p>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.</p>
<p>Are there, other better methods, papers that have been published in Siggraph/Cvpr that are known to be better than these naive methods? Can someone link same papers or classical methods that are available for this problem?</p>

CC BY-SA 4.0
2021-08-01T23:14:05.753Z
Are you trying to rotate/scale/translate the first mesh so that it would result as the second mesh ? Or are you trying to deform the first mesh so that it would appear as the second mesh ?
Kaan E.
CC BY-SA 4.0
2021-08-02T01:40:53.200Z
Either are fine, but semantic/plausible deformations in between are what I want..
sanjeev mk
CC BY-SA 4.0
2021-08-02T12:11:56.713Z
You might want to look into animation rigging. Most 3d game engines give you the capacity to rig the animation so that the mesh deforms in a plausible way.
Kaan E.
<3d><computational-geometry><mesh><geometry><interpolation>
Methods to interpolate between 2 topologically identical 3D meshes
sanjeev mk
# Methods to interpolate between 2 topologically identical 3D meshes

(Asked by: username_0 on 2021-08-01)

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? Can someone link same papers or classical methods that are available for this problem?

**Tags:** 3d, computational-geometry, mesh, geometry, interpolation

> **Comments:**
> **username_1**: Are you trying to rotate/scale/translate the first mesh so that it would result as the second mesh ? Or are you trying to deform the first mesh so that it would appear as the second mesh ?  
> **username_0**: Either are fine, but semantic/plausible deformations in between are what I want..  
> **username_1**: You might want to look into animation rigging. Most 3d game engines give you the capacity to rig the animation so that the mesh deforms in a plausible way.  

---

## 0 answers

