def getApproxRotation(self):
# do an SVD to express T as a rotation matrix.
M = np.array([[self.T[0]+1., self.T[1]], [self.T[2], self.T[3]+1.]])
U,S,V = np.linalg.svd(M)
print 'approx rotation:'
print 'M='
print M
print 'U='
print U
print 'V='
print V
print 'S='
print S
r1 = np.rad2deg(np.arctan2(U[0,1], U[0,0]))
r2 = np.rad2deg(np.arctan2(V[0,1], V[0,0]))
print 'r1', r1
print 'r2', r2
print 'rotation', r1-r2
return r1-r2
评论列表
文章目录