Many Euler angle functions produce incorrect results with float32 arrays as input. See the following case.
In [1]: from transforms3d.euler import quat2euler, euler2quat
...: import numpy as np
...: euler2quat(*quat2euler(np.array([0, 0.70710695, 0, -0.70710695], dtype=np.float32)))
Out[1]: array([0.70710678, 0. , 0.70710678, 0. ])
This is reproducible with 0.4.1 and latest main branch.
I believe this error happens because the variable _EPS uses float64 information but float32 arrays are not converted to float64 before computation.
Many Euler angle functions produce incorrect results with float32 arrays as input. See the following case.
This is reproducible with 0.4.1 and latest main branch.
I believe this error happens because the variable
_EPSuses float64 information but float32 arrays are not converted to float64 before computation.