A package to handle rotation in 3D space with pytorch and numpy
Project description
pyrotation
Interconversion of Euler angles, axis angles, quaternions, and rotation matrix.
Supports numpy.ndarray
and torch.Tensor
, and uses plum-dispatch
to decorate functions of the same name.
In addition, it supports arbitrary shapes.
Installation
pip install pyrotation
conversion
we use plum-dispatch
to decorate functions of the same name, so you can use pyrotation.conversion
to convert between different representations.
We support numpy.ndarray
and torch.Tensor
, and the input can be of arbitrary shape.
quaternion | matrix | euler_angle | axis_angle | |
---|---|---|---|---|
quaternion | - | quaternion_from_matrix |
quaternion_from_euler_angle |
quaternion_from_axis_angle |
matrix | matrix_from_quaternion |
- | matrix_from_euler_angle |
matrix_from_axis_angle |
euler_angle | euler_angle_from_quaternion |
euler_angle_from_matrix |
- | euler_angle_from_axis_angle |
axis_angle | axis_angle_from_quaternion |
axis_angle_from_matrix |
axis_angle_from_euler_angle |
- |
import torch
from pyrotation.conversion import quaternion_from_matrix, euler_angle_from_matrix
# convert a 10x3x3 rotation matrix to a quaternion
R = torch.rand(10, 3, 3)
quat = quaternion_from_matrix(R)
euler_angle = euler_angle_from_matrix(R)
print(quat.shape) # torch.Size([10, 4])
print(euler_angle.shape) # torch.Size([10, 3])
We also support conversions between so3
and SO3
, se3
and SE3
. You can use SO3_from_so3
and SE3_from_se3
to convert so3
and se3
to SO3
and SE3
,
respectively. Similarly, you can use so3_from_SO3
and se3_from_SE3
to convert SO3
and SE3
to so3
and se3
, respectively.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyrotation-0.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2da5706c9511d210a74076b2a7b6d7cdcf15c939323d29ca192bdfe712387935 |
|
MD5 | 6fcf291fc4a204df02f20297ba725375 |
|
BLAKE2b-256 | d3efb71601d4c203aa87b43201bfb4fab68733ce242c62df4ce8acc5e9d3d811 |