Skip to main content

Functions for the lie groups SE(2), SO(2), and SO(3), and SE(3).

Project description

se3_group

Functions for the Lie Algebra group SE(3)

$$ SE(3) = \begin{bmatrix} R_{11} & R_{12} & R_{13} & t_1 \ R_{21} & R_{22} & R_{23} & t_2 \ R_{31} & R_{32} & R_{33} & t_3 \ 0 & 0 & 0 & 1 \end{bmatrix} $$

where:

  • ( $\mathbf{R} \in SO(3) $) is the rotation matrix.
  • ( $\mathbf{t} \in \mathbb{R}^3 $) is the translation vector.

This representation is commonly used in robotics and computer vision for rigid body transformations.

Screenshot 2025-03-31 at 9 37 41 AM

Install

To install the library run: pip install se3_group

Development

  1. Install Poetry
  2. make init to create the virtual environment and install dependencies
  3. make format to format the code and check for errors
  4. make test to run the test suite
  5. make clean to delete the temporary files and directories
  6. poetry publish --build to build and publish to https://pypi.org/project/se3_group

Usage

"""Basic docstring for my module."""

import matplotlib.pyplot as plt
import numpy as np
from loguru import logger

from se3_group import se3


def main() -> None:
    """Run a simple demonstration."""
    pose_0 = se3.SE3(
        xyz=np.array([0.0, 0.0, 0.0]),
        rot=np.eye(3),
    )
    pose_1 = se3.SE3(
        xyz=np.array([[2.0], [4.0], [8.0]]),
        roll_pitch_yaw=np.array([np.pi / 2, np.pi / 4, np.pi / 8]),
    )

    logger.info(f"Pose 1: {pose_0}")
    logger.info(f"Pose 2: {pose_1}")

    fig = plt.figure()
    ax = fig.add_subplot(111, projection="3d")
    pose_0.plot(ax)
    pose_1.plot(ax)

    for t in np.arange(0.0, 1.01, 0.1):
        pose_interp = se3.interpolate(pose_1, pose_0, t=t)
        pose_interp.plot(ax)
        logger.info(f"Interpolated Pose at t={t:.2f}: {pose_interp}")

    plt.axis("equal")
    ax.set_xlabel("x-axis")
    ax.set_ylabel("y-axis")
    ax.set_zlabel("z-axis")
    plt.tight_layout()
    plt.show()


if __name__ == "__main__":
    main()

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

lie_groups_py-0.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lie_groups_py-0.1.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file lie_groups_py-0.1.0.tar.gz.

File metadata

  • Download URL: lie_groups_py-0.1.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Darwin/24.3.0

File hashes

Hashes for lie_groups_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4ddfc3419a03fb317c492f256060848906ad3713068e4cbe8e629e203a63f9f0
MD5 d4a5ef5ae8029b8e9d792e351a76b19c
BLAKE2b-256 b87fb49caf6daa3aa3a9b2e3bf17f979498214149809a43dc342224afb852252

See more details on using hashes here.

File details

Details for the file lie_groups_py-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: lie_groups_py-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Darwin/24.3.0

File hashes

Hashes for lie_groups_py-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba0db2ef251933ca5805ae99f7837bcebc38b2d4072c89c3ca7e5e0356d99d83
MD5 77d0393fb742556e0514870e2c3d4c45
BLAKE2b-256 3a930b6d20747836eb27a75025d1d69a28bb07e6926566f3b3a12dd04661aa7a

See more details on using hashes here.

Supported by

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