Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrotation-0.0.2.tar.gz (22.2 kB view hashes)

Uploaded Source

Built Distribution

pyrotation-0.0.2-py2.py3-none-any.whl (22.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page