Spaces:
Build error
Build error
import numpy as np | |
import torch | |
import math | |
import numba | |
from scipy.spatial.transform import Rotation as R | |
def euler2quaterion(euler, use_radian=True): | |
""" | |
euler: np.array, [batch, 3] | |
return: the quaterion, np.array, [batch, 4] | |
""" | |
r = R.from_euler('xyz',euler, degrees=not use_radian) | |
return r.as_quat() | |
def quaterion2euler(quat, use_radian=True): | |
""" | |
quat: np.array, [batch, 4] | |
return: the euler, np.array, [batch, 3] | |
""" | |
r = R.from_quat(quat) | |
return r.as_euler('xyz', degrees=not use_radian) | |
def rot2quaterion(rot): | |
r = R.from_matrix(rot) | |
return r.as_quat() | |
def quaterion2rot(quat): | |
r = R.from_quat(quat) | |
return r.as_matrix() | |
if __name__ == '__main__': | |
euler = np.array([89.999,89.999,89.999] * 100).reshape([100,3]) | |
q = euler2quaterion(euler, use_radian=False) | |
e = quaterion2euler(q, use_radian=False) | |
print(" ") | |