in utils/interpolation_base.py [0:0]
def insert_additional_vertices(self, vertices):
num_t = self.param.num_timesteps
num_vert = vertices.shape[1]
self.param.num_timesteps = num_t * 2 - 1
vertices = vertices.unsqueeze(1)
vertices = vertices * torch.as_tensor(
[1, 0], device=device, dtype=torch.float32
).unsqueeze(0).unsqueeze(2).unsqueeze(3)
vertices = vertices.reshape([num_t * 2, num_vert, 3])
vertices = vertices[0 : num_t * 2 - 1, ...]
for i in range(num_t - 1):
vertices[i * 2 + 1, ...] = (
0.5 * (vertices[i * 2, ...] + vertices[i * 2 + 2, ...]).clone()
)
self.vert_sequence.data = vertices
return vertices