这个函数将pose
的每一行分别乘以不同的旋转矩阵。是否有可能通过使用一个三维张量来避免循环?
def transform(ref, pose):
n, d = pose.shape
p = ref[:, :d].copy()
c = np.cos(ref[:, 2])
s = np.sin(ref[:, 2])
for i in range(n):
p[i,:2] += pose[i,:2].dot(np.array([[c[i], s[i]], [-s[i], c[i]]]))
return p